停止 github 动作矩阵案例

Rob*_*ert 6 yaml github-actions

我想对不同的构建类型使用 github 操作矩阵,但我对支持该矩阵的一种情况不感兴趣。如何阻止此案例运行,但仍能成功标记构建。

在这种特殊情况下,我想构建 Windows 和 Ubuntu、32 位和 64 位,但我对在 Ubuntu 上支持 32 位不感兴趣。所以我的矩阵是:

    strategy:
      fail-fast: false
      matrix:
        os: [windows-latest, ubuntu-latest]
        platform: ['x64', 'x86']
Run Code Online (Sandbox Code Playgroud)

我当前的解决方案是通过添加 if 表达式来停止每个操作的运行:

    - name: Build Native
      if: ${{ ! (matrix.os == 'ubuntu-18.04' && matrix.platform == 'x86') }}
Run Code Online (Sandbox Code Playgroud)

虽然这工作正常,但我觉得应该有一种更优雅的方法来解决这个问题。谁能帮我让我的 yaml 脚本更漂亮吗?

Dan*_*nyB 8

也许该strategy.matrix.exclude指令合适?

文档中:

您可以使用 选项删除构建矩阵中定义的特定配置exclude。使用exclude删除构建矩阵定义的作业。

所以在你的情况下,可能是这样的:

strategy:
  matrix:
    os: [windows-latest, ubuntu-latest]
    platform: ['x64', 'x86']
    exclude:
      - os: ubuntu-latest
        platform: x86
Run Code Online (Sandbox Code Playgroud)