GitHub Actions の github-script を用いて、次のステップ以降でも用いる環境変数を定義する方法

結論

core.exportVariable('envVar', 'Val') を用います。

すると ${{ env.envVar }}Val を返します。process.env.envVarVal を返します。

具体例

以下のような 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 だけに寄せることも可能です。

チームとしての学習コストがかかったり、シェルスクリプトの汎用性に劣ったりはしますが、開発者体験は高いです。

Powered by はてなブログ