GitHub Actions で環境変数を用意したいとする。
ドキュメント には以下のように記述することで環境変数が設定できると書かれている。
inputs:
numOctocats:
description: 'Number of Octocats'
required: false
default: '1'
octocatEyeColor:
description: 'Eye color of the Octocats'
required: true
上記の YAML を定義すると INPUT_NUMOCTOCATS や INPUT_OCTOCATEYECOLOR という変数が使えるようになる1、とのこと。
しかし、残念ながらこれは composite の場合は使えない。
ここ に書かれているとおり、env を使って自分で定義すると良いとのこと。
inputs:
numOctocats:
description: 'Number of Octocats'
required: false
default: '1'
octocatEyeColor:
description: 'Eye color of the Octocats'
required: true
runs:
using: 'composite'
steps:
- run: echo ${INPUT_NUMOCTOCATS}, ${INPUT_OCTOCATEYECOLOR}
shell: sh
env:
INPUT_NUMOCTOCATS: ${{ inputs.numOctocats }}
INPUT_OCTOCATEYECOLOR: ${{ inputs.octocatEyeColor }}
これで環境変数 INPUT_NUMOCTOCATS と INPUT_OCTOCATEYECOLOR が使えるようになった。
ちなみにここでは composite ではない場合の自動生成と同じ環境変数名にしているが、同じにする必要は特にない。
細かいルールは次のとおり。1. INPUT_ という接頭辞がつく。2. すべて大文字に自動変換される。3. スペースは _ に自動変換される。つまり今回の場合、numOctocats の部分が NUMOCTOCATS に変換され、先頭に INPUT_ が付与され INPUT_NUMOCTOCATS となる。octocatEyeColor も同様。 ↩