この記事は何
GitHub Actionsを利用していて、step間で値を共有して、実行した場面があったため、その方法を記載した記事になります。
方法
GITHUB_OUTPUTを利用します。
step でname、value 設定した文字列を`$GITHUB_OUTPUT に出力するようにすることで、設定ができます。
echo "{name}={value}" >> $GITHUB_OUTPUT
設定した値は、steps.${{stepのid名}}.outputs.${{設定したname}}
で取得ができます
.github/workflows/test.yml
jobs:
sample:
runs-on: ubuntu-latest
steps:
- name: set output
id: test
run: echo "test=hello" >> $GITHUB_OUTPUT
- echo test
run: echo ${{ steps.sample.outputs.hello }}
これで前のJobで設定した値を別のJobから参照することができます。
tips
これまではset-output
を利用するやり方がありましたが、公式よりDeprecateになったという記事が2022年11月に公開されました。
この書き方をされている場合は、GitHub Actionsのworkflow のlogでもwarningが出ている、2023年6月以降は失敗するようになるらしく、修正した方が良さそうです