gpt4 book ai didi

python-3.x - github Action yaml : how to refer an item in a matrix array?

转载 作者:行者123 更新时间:2023-12-05 05:50:19 26 4
gpt4 key购买 nike

这是我的矩阵:

jobs:
check-test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"]

我有这个当前条件(有效):

          if: matrix.python-version == 3.6

如何用矩阵的第一项替换 3.6?我的意思是,如何在 yaml 中分辨:


if: matrix.python-version == "the_first_item_from_matrix.python-version"

不,matrix.python-version[0](或 [1],我不知道它是如何编入索引的)将不起作用。

这里的原因是:在某些时候我会放弃对 3.6 的支持,而且我不想记得删除我工作流程中硬编码的任何 3.6

最佳答案

我提出了一个使用 strategy.job-index 属性的简单解决方法。根据documentation ,该属性定义如下:

The index of the current job in the matrix. Note: This number is a zero-based number. The first job's index in the matrix is 0.

您可以使用此属性确保仅对矩阵中的第一个作业执行一个步骤。

这是一个演示这个想法的最小工作流程:

name: demo
on:
push:
jobs:
demo:
strategy:
fail-fast: false
matrix:
python-version: ['3.7', '3.10']
runs-on: ubuntu-latest
steps:
- if: strategy.job-index == 0
run: echo '3.7' && exit 1

- if: strategy.job-index == 1
run: echo '3.10' && exit 1

下面是显示结果的屏幕截图:

enter image description here

enter image description here

遗憾的是,一旦我们开始使用多维矩阵,这种解决方法就会变得更加复杂。

关于python-3.x - github Action yaml : how to refer an item in a matrix array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70532207/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com