为何无法在使用可重用工作流的作业中配置continue-on-error?
解决GitHub Actions矩阵+可重用工作流中continue-on-error的配置问题
当你通过uses调用可重用工作流时,continue-on-error不能直接添加在当前作业上,这就是你收到"Property continue-on-error is not allowed"错误的原因。GitHub Actions对调用可重用工作流的作业属性有严格限制,这类容错配置需要调整位置:
方案1:在可重用工作流内部配置continue-on-error
直接在被调用的executor.yml中的作业里添加continue-on-error属性,所有通过该工作流执行的矩阵任务都会应用这个规则:
# .github/workflows/executor.yml jobs: your-executor-job: runs-on: ubuntu-latest continue-on-error: true # 添加该行 steps: # 原有的步骤内容
方案2:在调用作业的strategy中配置continue-on-error
如果希望仅针对当前矩阵策略开启容错,可在strategy节点下添加continue-on-error,作用于整个矩阵的所有任务:
release: needs: [xyz] if: ${{ needs.xyz.outputs.abc != '[]' }} strategy: matrix: path: ${{ fromJSON(needs.xyz.outputs.abc) }} continue-on-error: true # 在此处添加 uses: ./.github/workflows/executor.yml secrets: inherit with: dir: ${{ matrix.path }} # 修正变量引用,原写法matrix.path无法正确解析
另外注意,你原代码中with字段的dir值写法有误,必须用${{ matrix.path }}才能正确引用矩阵变量。
内容的提问来源于stack exchange,提问作者Thishani Lucas
相关产品推荐
相关产品推荐

