GitHub Actions 默认设置

9

官方 Github Actions 文档中提到,可以设置 defaults 来为所有作业指定默认设置 (https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#defaults)。我想设置它来指定

defaults:
  runs-on: ubuntu-latest
  strategy:
    fail-fast: false # do not cancel 7.2 if 7.3 fails
    matrix:
      php: ['7.2', '7.3', '7.4']
      node-version: ['12.5']
jobs:
    ...

但是这在处理中会失败。

The workflow is not valid. .github/workflows/code_checks.yaml (Line: 7, Col: 3): Unexpected value 'runs-on',.github/workflows/code_checks.yaml (Line: 8, Col: 3): Unexpected value 'strategy'

我希望为所有作业指定相同的 runs-onstrategy。为什么defaults不能正常工作?

1个回答

8

这是不可能的,使用 defaults 只能设置 shellworking-directory

你大概是在寻找不存在的 default-strategy。需要记住的一件事是 Github Actions 中每个 job 都是在不同的机器上运行,不会与之前的 job 共享任何信息。

更适合你需求的做法是创建一个带有一组策略和多个步骤的 job。


1
是的,但这样我就无法并行执行测试和检查,而这正是 Github Actions 的巨大优势,对吧? - Ivo Valchev
1
如果您在一项工作中设置了一个矩阵,那么该工作将在我们的矩阵上并行运行。一个工作可以有任意多个步骤。 - zzarbi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接