結論
core.exportVariable('envVar', 'Val')
を用います。
すると ${{ env.envVar }}
が Val
を返します。process.env.envVar
も Val
を返します。
具体例
以下のような YAML で実行された GitHub Actions にて、最後の echo
コマンド および console.log
コマンド で Val
が表示されます。
(ここまで省略) steps: (省略) - name: github-script を用いて環境変数を定義する uses: actions/github-script@v6 with: script: | core.exportVariable('envVar', 'Val') - name: 環境変数がステップをまたいで定義されているかを確認する uses: actions/github-script@v6 with: script: | await exec.exec('echo ${{ env.envVar }}') // これでも OK console.log(process.env.envVar) // これでも OK
補足
シェルスクリプトは全て廃して github-script
だけに寄せることも可能です。
チームとしての学習コストがかかったり、シェルスクリプトの汎用性に劣ったりはしますが、開発者体験は高いです。