我为mu vue/nuxt应用程序写了这个CI:
name: test
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x, 16.x, 18.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci --ignore-scripts
- run: npx vitest --run
然而,我在检索依赖项后得到了这个错误:
Run npm ci --ignore-scripts
npm ci --ignore-scripts
shell: /usr/bin/bash -e {0}
npm WARN deprecated sourcemap-codec@1.4.8: Please use @jridgewell/sourcemap-codec instead
npm WARN deprecated stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility
npm WARN deprecated rollup-plugin-terser@7.0.2: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
Error: The operation was canceled.
不提供日志,也不提供错误消息,只显示正在取消的操作
我想运行一个成功的CI操作来运行我的测试和lint我的应用程序
1条答案
按热度按时间mrzz3bfm1#
您可能会在矩阵中的某个作业中看到该错误,因为另一个作业失败了。
在GitHub actions中,
jobs.<job_id>.strategy.fail-fast
默认设置为true
。这意味着如果矩阵中的任何作业失败,GitHub将取消矩阵中所有正在进行和排队的作业。在你的例子中,你有一个运行
npm ci --ignore-scripts
和npx vitest --run
的矩阵。这两个步骤可能会因为不同的原因而失败,并会导致在你的例子中,同一矩阵中不同Node.js版本的所有正在运行的作业终止。如果
npm ci
对你来说失败了,检查你的.npmrc
和代理设置,如果你使用的是私有artifactory。如果没有,请尝试使用
nvm use YOUR_NODE_VERSION
,删除package-lock.json
,然后在本地运行npm install
,让它重建依赖关系树。另外,请注意,您应该使用与Nuxt/Vue工具兼容的Node版本,或者在
package.json
的引擎中声明。因此,除非您正在构建必须与不同的Node.js/npm版本兼容的库,否则您可能不需要支持矩阵中指定的所有3个版本。