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

GitHub Actions矩阵任务如何使用索引而非矩阵值命名

GitHub Actions原生没有直接获取单个数组类型矩阵元素索引的matrix.range.index语法,但有两种简单的实现方案可以满足按序号命名任务的需求:

方案一:使用strategy.job-index内置变量(改动最小)

GitHub Actions提供了内置上下文变量strategy.job-index,表示当前矩阵任务在所有生成任务中的序号,默认从0开始计数,你只需在job配置中新增name字段,无需修改原有矩阵和运行逻辑:

jobs:
  functional:
    # 加1即可得到从1开始的序号
    name: functional-${{ strategy.job-index + 1 }}
    # 以下原有配置完全保留
    strategy:
      matrix:
        range:
          - -e FT_FROM_IX=0 -e FT_TO_IX=300
          - -e FT_FROM_IX=301 -e FT_TO_IX=600
          - -e FT_FROM_IX=601 -e FT_TO_IX=900
          - -e FT_FROM_IX=901 -e FT_TO_IX=1200
          - -e FT_FROM_IX=1201

    steps:
      - uses: actions/checkout@v2

      - name: Run functional test
        run: |
          docker run  --network host -t --rm ${{ matrix.range }} -v $(pwd):/opt/fiware-orion ${{ env.TEST_IMAGE_NAME }} build -miqts functional

方案二:调整矩阵为对象数组结构(灵活性更高)

如果需要更可控的序号与参数绑定关系,可以把矩阵的range从字符串数组改成对象数组,每个元素同时包含自定义序号和运行参数:

jobs:
  functional:
    name: functional-${{ matrix.range.id }}
    strategy:
      matrix:
        range:
          - id: 1
            args: -e FT_FROM_IX=0 -e FT_TO_IX=300
          - id: 2
            args: -e FT_FROM_IX=301 -e FT_TO_IX=600
          - id: 3
            args: -e FT_FROM_IX=601 -e FT_TO_IX=900
          - id: 4
            args: -e FT_FROM_IX=901 -e FT_TO_IX=1200
          - id: 5
            args: -e FT_FROM_IX=1201

    steps:
      - uses: actions/checkout@v2

      - name: Run functional test
        run: |
          docker run  --network host -t --rm ${{ matrix.range.args }} -v $(pwd):/opt/fiware-orion ${{ env.TEST_IMAGE_NAME }} build -miqts functional

该方案的优势是序号和参数的对应关系完全固定,后续调整矩阵参数顺序也不会出现序号错乱的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:27:03