GitHubアクションでは、bash式を評価してから環境変数に割り当てます-
- name: Tag image
env:
GITHUB_SHA_SHORT: ${{ $(echo $GITHUB_SHA | cut -c 1-6) }}
..do other things...
しかし、この素朴な試みは失敗しました。 ドキュメントによると これはサポートされていないようですが、ある程度クリーンな回避策で問題ありません。
前のステップでset-env
を使用するとうまくいきます。
name: my workflow
on: Push
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set env
run: echo ::set-env name=GITHUB_SHA_SHORT::$(echo $GITHUB_SHA | cut -c 1-6)
- name: Test
run: echo $GITHUB_SHA_SHORT
環境変数を設定します:
set-env
::set-env name={name}::{value}
ジョブで次に実行されるアクションの環境変数を作成または更新します。環境変数を作成または更新するアクションは新しい値にアクセスできませんが、ジョブ内の後続のすべてのアクションはアクセスできます。環境変数では大文字と小文字が区別され、句読点を含めることができます。
これは、ワークフローで環境変数を参照する別の方法です。
- name: Test
run: echo ${{ env.GITHUB_SHA_SHORT }}