Open Closed

Newer version of CLI broke my CI / CD pipelines #8403


User avatar
0
jaylin created

ABP Framework version: v8.2.2

UI Type: Angular

Database System: EF Core (SQL Server)

Tiered (for MVC) or Auth Server Separated (for Angular): yes

Exception message and full stack trace:

Steps to reproduce the issue:

In my CI / CD pipelines, I have this step to install ABP CLI, however, the recent CLI upgrade (dotnet tool install -g Volo.Abp.Studio.Cli) made the old version unavailable. It was working 2 weeks ago - Tool 'volo.abp.cli' (version '8.3.4') was successfully installed.

Run dotnet tool install -g Volo.Abp.Cli dotnet tool install -g Volo.Abp.Cli shell: /usr/bin/bash -e {0} env: ENV_NAME: dev DOTNET_ROOT: /usr/share/dotnet Tool 'volo.abp.cli' failed to update due to the following: The settings file in the tool's NuGet package is invalid: Settings file 'DotnetToolSettings.xml' was not found in the package. Tool 'volo.abp.cli' failed to install. Contact the tool author for assistance.

After upgrading the CLI to the latest (dotnet tool install -g Volo.Abp.Studio.Cli), it broke my Angular pipeline:

##[debug]Evaluating condition for step: 'Install ABP libraries' ##[debug]Evaluating: success() ##[debug]Evaluating success: ##[debug]=> true ##[debug]Result: true ##[debug]Starting: Install ABP libraries ##[debug]Loading inputs ##[debug]Loading env Run abp install-libs ##[debug]Overwrite 'working-directory' base on job defaults. ##[debug]/usr/bin/bash -e /home/runner/work/_temp/0556fb7c-72bd-416c-8dda-f402e48e8778.sh [10:43:51 INF] You are running the second generation of the ABP CLI. If you're interested in the legacy CLI, see https://abp.io/new-cli [10:43:51 WRN] Volo.Abp.Studio.Extensions.StandardSolutionTemplates extension not found in the NuGet cache. Directory: /home/runner/.nuget/packages/volo.abp.studio.extensions.standardsolutiontemplates/0.9.13/lib/net8.0 [10:43:51 INF] Volo.Abp.Studio.Extensions.StandardSolutionTemplates (v: 0.9.13) extension trying install from the NuGet 📌 ABP CLI 0.9.13 (Beta) Checking extensions... [10:43:56 INF] Volo.Abp.Studio.Extensions.StandardSolutionTemplates (v: 0.9.13) package downloaded from https://api.nuget.org/v3/index.json and saved to (/home/runner/.nuget/packages/) 🧩 Extensions downloaded: Volo.Abp.Studio.Extensions.StandardSolutionTemplates 🚲 The CLI is restarting to apply the changes with arguments: install-libs [10:43:57 INF] You are running the second generation of the ABP CLI. If you're interested in the legacy CLI, see https://abp.io/new-cli Checking extensions... [10:43:57 INF] Found 1 projects. [10:43:57 INF] /home/runner/work/BetterBilling/BetterBilling/angular [10:43:57 INF] Running Yarn on /home/runner/work/BetterBilling/BetterBilling/angular yarn install v1.22.22 [1/4] Resolving packages... [2/4] Fetching packages... ##[debug]Finishing: Install ABP libraries 1m 1s ##[debug]Evaluating condition for step: 'Install dependencies' ##[debug]Evaluating: success() ##[debug]Evaluating success: ##[debug]=> true ##[debug]Result: true ##[debug]Starting: Install dependencies ##[debug]Loading inputs ##[debug]Loading env Run yarn install ##[debug]Overwrite 'working-directory' base on job defaults. ##[debug]/usr/bin/bash -e /home/runner/work/_temp/50a904a8-2569-4279-b67b-5fe35cfdd3ec.sh yarn install v1.22.22 [1/4] Resolving packages... [2/4] Fetching packages... error Error: ENOENT: no such file or directory, open '/home/runner/.cache/yarn/v6/npm-@microsoft-applicationinsights-cfgsync-js-3.3.4-4fd32c9fede703a6332ca82ed2cce359cbc5a8b7-integrity/node_modules/@microsoft/applicationinsights-cfgsync-js/.yarn-tarball.tgz' info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command. Error: Process completed with exit code 1. ##[debug]Finishing: Install dependencies

It blocked me from promoting to higher environment, please address ASAP.


9 Answer(s)
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    What is your dotnet sdk version? 8 or 9?

    Tool 'volo.abp.cli' failed to update due to the following:
    The settings file in the tool's NuGet package is invalid: Settings file 'DotnetToolSettings.xml' was not found in the package.
    Tool 'volo.abp.cli' failed to install. Contact the tool author for assistance.
    

    This error is not related to abp CLI. You can try yanrrun the yarn local to test .to

    yarn install v1.22.22
    [1/4] Resolving packages...
    [2/4] Fetching packages...
    error Error: ENOENT: no such file or directory, open '/home/runner/.cache/yarn/v6/npm-@microsoft-applicationinsights-cfgsync-js-3.3.4-4fd32c9fede703a6332ca82ed2cce359cbc5a8b7-integrity/node_modules/@microsoft/applicationinsights-cfgsync-js/.yarn-tarball.tgz'
    info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
    Error: Process completed with exit code 1.
    ##[debug]Finishing: Install dependencies
    
  • User Avatar
    0
    jaylin created

    It's .NET 8.

    I am not sure if the latest cli impacts install-libs or not, see the info below when I ran abp install-libs, it sounds like the CLI is not up to date. [10:43:57 INF] You are running the second generation of the ABP CLI. If you're interested in the legacy CLI, see https://abp.io/new-cli Checking extensions...

    yarn start works fine locally.

    I tried npm as well, it could not find the @abp/ng.theme-shared.

    Run npm install npm warn ERESOLVE overriding peer dependency npm warn While resolving: @volo/abp.ng.payment@8.2.3 npm warn Found: @abp/ng.theme-shared@undefined npm warn node_modules/@abp/ng.theme-shared npm warn npm warn Could not resolve dependency: npm warn peer @abp/ng.theme-shared@">=8.2.3" from @volo/abp.ng.payment@8.2.3 npm warn node_modules/@volo/abp.ng.payment npm warn @volo/abp.ng.payment@"~8.2.2" from the root project npm error code E404 npm error 404 Not Found - GET https://registry.npmjs.org/@abp%2fng.theme-shared - Not found npm error 404 npm error 404 '@abp/ng.theme-shared@>=8.2.3' is not in this registry. npm error 404 npm error 404 Note that you can also install from a npm error 404 tarball, folder, http url, or git url. npm error A complete log of this run can be found in: /home/runner/.npm/_logs/2024-12-01T11_21_52_003Z-debug-0.log Error: Process completed with exit code 1.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    The package name should be @abp/ng.theme.shared

  • User Avatar
    0
    jaylin created

    Hey mate, that's coming from your payment package. I don't have ng.theme-shared in my package.json.

    {
      "name": "@volo/abp.ng.payment",
      "version": "8.2.3",
      "peerDependencies": {
        "@abp/ng.core": ">=8.2.3",
        "@abp/ng.theme-shared": ">=8.2.3"
      },
      "dependencies": {
        "@volo/abp.commercial.ng.ui": "~8.2.3",
        "tslib": "^2.0.0"
      },
      "publishConfig": {
        "access": "public"
      },
      "homepage": "https://abp.io",
      "repository": {
        "type": "git",
        "url": "https://github.com/volosoft/volo.git"
      },
      "license": "LGPL-3.0",
      "keywords": [
        "aspnetcore",
        "boilerplate",
        "framework",
        "web",
        "best-practices",
        "angular",
        "maui",
        "blazor",
        "mvc",
        "csharp",
        "webapp"
      ],
      "module": "fesm2022/volo-abp.ng.payment.mjs",
      "typings": "index.d.ts",
      "exports": {
        "./package.json": {
          "default": "./package.json"
        },
        ".": {
          "types": "./index.d.ts",
          "esm2022": "./esm2022/volo-abp.ng.payment.mjs",
          "esm": "./esm2022/volo-abp.ng.payment.mjs",
          "default": "./fesm2022/volo-abp.ng.payment.mjs"
        },
        "./admin": {
          "types": "./admin/index.d.ts",
          "esm2022": "./esm2022/admin/volo-abp.ng.payment-admin.mjs",
          "esm": "./esm2022/admin/volo-abp.ng.payment-admin.mjs",
          "default": "./fesm2022/volo-abp.ng.payment-admin.mjs"
        },
        "./proxy": {
          "types": "./proxy/index.d.ts",
          "esm2022": "./esm2022/proxy/volo-abp.ng.payment-proxy.mjs",
          "esm": "./esm2022/proxy/volo-abp.ng.payment-proxy.mjs",
          "default": "./fesm2022/volo-abp.ng.payment-proxy.mjs"
        },
        "./admin/config": {
          "types": "./admin/config/index.d.ts",
          "esm2022": "./esm2022/admin/config/volo-abp.ng.payment-admin-config.mjs",
          "esm": "./esm2022/admin/config/volo-abp.ng.payment-admin-config.mjs",
          "default": "./fesm2022/volo-abp.ng.payment-admin-config.mjs"
        }
      },
      "sideEffects": false
    }
    

    Please read and answer my questions one by one:

    1. Is dotnet tool install -g Volo.Abp.Cli still a valid command or obsolete?
    2. Is it necessary to run abp install-libs?
    3. Why install-libs used to have 4 successful steps, but not it only has 2? Before upgrade abp cli:

    After upgrade abp cli:

    1. Is it still recommended to use yarn (v1.22) or npm?
    2. How can I rollback to Volo.Abp.Cli version '8.3.4'?
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    Ok, I will ask our angular team to confirm this.


    Is dotnet tool install -g Volo.Abp.Cli still a valid command or obsolete?

    You can continue to use Volo.Abp.Cli for 8.x project. If you use the new 9.0 you can use Volo.Abp.Studio.Cli

    Is it necessary to run abp install-libs?

    Yes, you need to run it whatever using Volo.Abp.Cli or Volo.Abp.Studio.Cli

    Why install-libs used to have 4 successful steps, but not it only has 2?

    Beacuse you are using the Volo.Abp.Studio.Cli right now.

    Is it still recommended to use yarn (v1.22) or npm?

    We recommend using yarn

    How can I rollback to Volo.Abp.Cli version '8.3.4'?

    You can install the Volo.Abp.Cli in your pipeline.

    dotnet tool install --global Volo.Abp.Cli --version 8.3.4


    This error will happen if you have multiple SDKs installed; it seems you are using the GitHub pipeline. Can you invite me to join to check?

    https://github.com/maliming

    Tool 'volo.abp.cli' failed to update due to the following:
    The settings file in the tool's NuGet package is invalid: Settings file 'DotnetToolSettings.xml' was not found in the package.
    Tool 'volo.abp.cli' failed to install. Contact the tool author for assistance.
    
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    The package name should be @abp/ng.theme.shared, we will fix it in next patch version.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    error Error: ENOENT: no such file or directory, open '/home/runner/.cache

    Maybe this error is related to setup-node and yarn in pipeline.

    https://github.com/actions/setup-node/issues/443

  • User Avatar
    0
    jaylin created

    Thanks liming, I found install-libs is not necessary anymore. See those 2 steps below, install-libs was trying to run "yarn install v.22.22" too, that's why I think it conflicts with yarn install.

    Run abp install-libs --working-directory . [03:41:36 INF] You are running the second generation of the ABP CLI. If you're interested in the legacy CLI, see https://abp.io/new-cli [03:41:36 WRN] Volo.Abp.Studio.Extensions.StandardSolutionTemplates extension not found in the NuGet cache. Directory: /home/runner/.nuget/packages/volo.abp.studio.extensions.standardsolutiontemplates/0.9.13/lib/net8.0 [03:41:36 INF] Volo.Abp.Studio.Extensions.StandardSolutionTemplates (v: 0.9.13) extension trying install from the NuGet 📌 ABP CLI 0.9.13 (Beta) Checking extensions... [03:41:41 INF] Volo.Abp.Studio.Extensions.StandardSolutionTemplates (v: 0.9.13) package downloaded from https://api.nuget.org/v3/index.json and saved to (/home/runner/.nuget/packages/) 🧩 Extensions downloaded: Volo.Abp.Studio.Extensions.StandardSolutionTemplates 🚲 The CLI is restarting to apply the changes with arguments: install-libs --working-directory . [03:41:42 INF] You are running the second generation of the ABP CLI. If you're interested in the legacy CLI, see https://abp.io/new-cli Checking extensions... [03:41:42 INF] Found 1 projects. [03:41:42 INF] . [03:41:43 INF] Running Yarn on . yarn install v1.22.22 [1/4] Resolving packages... [2/4] Fetching packages... 51s Run yarn install yarn install v1.22.22 [1/4] Resolving packages... [2/4] Fetching packages... error Error: ENOTEMPTY: directory not empty, rmdir '/home/runner/.cache/yarn/v6/npm-date-fns-2.30.0-f367e644839ff57894ec6ac480de40cae4b0f4d0-integrity/node_modules/date-fns' info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command. Error: Process completed with exit code 1.

    After removing abp install-libs step, the pipeline works. I guess those licensed abp npm packages are not forced to be downloaded by install-libs anymore.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    The install-libs command restores the package and copy the files from node_modules to the wwwroot/libs folder.

    the pipeline works.

    Please check your website wwwroot/libs folder.

Made with ❤️ on ABP v9.1.0-preview. Updated on December 13, 2024, 06:09