You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让GitHub Actions的test作业仅依赖build矩阵中的Ubuntu作业?

解决方案

要让test作业仅依赖build矩阵中的Ubuntu实例,只需修改test的needs配置,精准指定目标矩阵作业即可:

修改后的完整配置

name: build-and-test

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
    # 此处添加你的构建步骤
    steps:
      - uses: actions/checkout@v4
      # 示例构建命令,根据你的项目替换
      - run: echo "Building on ${{ matrix.os }}"

  test:
    runs-on: ubuntu-latest
    # 仅依赖build矩阵中os为ubuntu-latest的作业实例
    needs: build.os=ubuntu-latest
    steps:
      # 此处添加你的测试步骤
      - uses: actions/checkout@v4
      - run: echo "Running tests on Ubuntu"

关键说明

  • 原配置中needs: build会等待build矩阵的所有3个作业完成,而needs: build.os=ubuntu-latest可以精准定位到矩阵中os参数为ubuntu-latest的特定作业实例。
  • 配置后,Ubuntu构建完成后test会立即启动,无需等待macOS和Windows的构建任务结束。
  • 保留fail-fast: false的情况下,macOS或Windows的构建失败不会影响Ubuntu构建及test作业的执行。

内容的提问来源于stack exchange,提问作者Ewout ter Hoeven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 23:45:34