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
も同様。 ↩