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 脚本更漂亮吗?
也许该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)
| 归档时间: |
|
| 查看次数: |
1283 次 |
| 最近记录: |