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

如何在GitHub Actions中复用工作流:单任务适配多操作系统

解决GitHub Actions多操作系统任务合并问题

你之前直接在runs-on里放数组的写法错误,因为GitHub会把整个数组当成一个不存在的操作系统名称。要实现单任务在多系统上运行,用**一维矩阵(单变量matrix)**就能搞定,以下是修正后的完整工作流:

name: Test Bootstrap

on: push

jobs:
  bootstrap:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [macos-latest, ubuntu-latest]
    steps:
      - name: Checkout Code
        uses: actions/checkout@v2
      - name: Bootstrap
        run: ./bootstrap.sh

关键说明:

  • strategy.matrix.os:这里定义了要运行的操作系统列表,这就是你要的一维矩阵,不需要复杂的多维度组合
  • runs-on: ${{ matrix.os }}:通过变量引用矩阵中的每个操作系统,GitHub会自动为列表里的每个系统创建独立的运行实例,各自执行后续步骤
  • 步骤部分只需要写一次,会在每个操作系统上重复执行,完全等价于你原来两个独立job的效果

内容的提问来源于stack exchange,提问作者Zhao Li

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 15:41:12