GitHub Actions のステップ output とは?
ステップ output はステップが GITHUB_OUTPUT ファイルに書き込む値で、後続のステップが steps コンテキストを通じて読み取れます。
ステップは、タグ、パス、フラグなど後続ステップが必要とする何かを計算することがよくあります。ステップ output は、それらの値をジョブ内で渡すサポートされた方法であり、古い set-output コマンドを置き換えます。
概要
ステップが GITHUB_OUTPUT 内のファイルに追記する name=value ペアです。後続ステップが steps.<id>.outputs.<name> として参照できるよう、そのステップには id が必要です。
Setting and reading
steps:
- id: meta
run: echo "tag=v1.2.3" >> "${GITHUB_OUTPUT}"
- run: echo "Tag is ${{ steps.meta.outputs.tag }}"仕組み
GitHub はステップの終了後に GITHUB_OUTPUT ファイルを読み取り、その値をジョブの残りの部分に向けて steps コンテキスト上で利用可能にします。
ステップ output と ジョブ output
ステップ output は 1 つのジョブ内でのみ参照できます。別のジョブと値を共有するには、ステップ output をジョブ output にマッピングし、needs を通じて読み取ります。
重要な理由
ステップ output は、計算した値をジョブ内で受け渡す、きれいでサポートされた方法です。古い ::set-output:: コマンドは非推奨のため、GITHUB_OUTPUT への書き込みが現在の標準です。
関連する概念
ステップ output はジョブ output に供給され、steps コンテキストを通じて読み取られます。GITHUB_ENV のような特別なファイルを使います。
重要なポイント
- ステップ output は
GITHUB_OUTPUTに書き込まれます。 steps.<id>.outputs.<name>で読み取ります。- ジョブローカルです。ジョブをまたぐにはジョブ output に昇格させます。
関連ガイド
What Is a Job Output in GitHub Actions?A job output is a value a job exposes so dependent jobs can read it through the needs context, passing data a…
What Is the GITHUB_ENV File in GitHub Actions?GITHUB_ENV is a file a step writes to in order to set environment variables that persist for the remaining st…
What Is a Context in GitHub Actions?A context in GitHub Actions is a structured object of run data, like github, env, and secrets, that you read…
What Is a Step in GitHub Actions?A step in GitHub Actions is a single task in a job. It either runs a shell command with run or invokes a reus…