我使用了一个策略矩阵创建了一个GitHub Actions Job,其中包含一组环境变量。其中之一是
在大多数步骤中,我可以直接使用它,例如通过
如果不行,github actions中解决该问题的惯用方法是什么?
PS:我知道可以在步骤中设置环境变量,但问题是这些变量仅适用于接下来的步骤(即不能在“run-on:”标签中使用)。
machine_architecture
,它可以是32或64。在大多数步骤中,我可以直接使用它,例如通过
${{ machine_architecture }}
。但有些步骤需要字符串,如'i386' vs 'x86_64'。在github actions中是否有一种简单的方法来创建可用于表达式的映射对象?map_object = { 32: "i386", 64: 'x86_64' }
...
${{ map_object[machine_architecture] }}
如果不行,github actions中解决该问题的惯用方法是什么?
PS:我知道可以在步骤中设置环境变量,但问题是这些变量仅适用于接下来的步骤(即不能在“run-on:”标签中使用)。
runs-on
只能访问matrix
上下文。此外,据我所知,在步骤之外计算值的方法是不存在的。 - peterevansto_entries
使数据结构不必要地复杂;jq -r '.["${{ matrix.tox-env }}"]' < .github/workflows/mapping.json
足以从键获取值 :) - merwok