問題
PR のチェック一覧に、Dialyzer ジョブが次の表示で並ぶ。
ci / Dialyzer Analysis on OTP ${{ inputs.otp-version-latest }} / Elixir ${{ inputs.elixir-version-latest }} skipping
${{ }} が評価されず、式がそのまま出ている。
原因
ジョブが skip されたときの GitHub 側の表示挙動であり、workflow の記述ミスではない。elixir-ci.yml の dialyzer ジョブは
dialyzer:
if: ${{ inputs.dialyzer-enabled && github.event_name == 'push' }}
name: Dialyzer Analysis on OTP ${{ inputs.otp-version-latest }} / Elixir ${{ inputs.elixir-version-latest }}
で push 限定になっているため、PR では常に skip される。
裏取り
実際に走る push run では 正しく展開される。
$ gh run view 31986293240 -R smkwlab/tenbin_dns --json jobs \
--jq '.jobs[] | "\(.conclusion)\t\(.name)"'
success ci / Code Quality
success ci / Test on OTP 27.3.4.4 / Elixir 1.17.3
success ci / Dialyzer Analysis on OTP 29.0.2 / Elixir 1.20.1 ← 展開されている
success ci / Test on OTP 29.0.2 / Elixir 1.20.1
success ci / All checks
一方、PR(smkwlab/elixir_dnstap#42、run 32868402729)では式のまま。同じ run の test ジョブは matrix 参照なので skip されず、Test on OTP 27.3.4.16 / Elixir 1.17.3 と展開されている。つまり差は「inputs 参照だから」ではなく「skip されたか否か」。
影響
表示のみ。実行・判定には影響しない。ただし PR ごとに全 consumer(DNS 系 5 リポ)のチェック一覧に出るため、目に触れる頻度は高い。
対応
急ぐものではないが、直すなら選択肢は 2 つ。
- ジョブ名を静的にする —
name: Dialyzer Analysis とし、処理系の版数はジョブ内のログ(setup-beam の outputs)で示す。skip 時の表示は綺麗になるが、push run のチェック一覧から版数が消える。
- 現状維持 — push run では正しく出ており、PR では skip されているジョブなので実害はない、と割り切る。
gate(All checks)ジョブは skip を success として扱わない設計なので、どちらを選んでも判定への影響はない。
問題
PR のチェック一覧に、Dialyzer ジョブが次の表示で並ぶ。
${{ }}が評価されず、式がそのまま出ている。原因
ジョブが skip されたときの GitHub 側の表示挙動であり、workflow の記述ミスではない。
elixir-ci.ymlの dialyzer ジョブはで
push限定になっているため、PR では常に skip される。裏取り
実際に走る push run では 正しく展開される。
一方、PR(smkwlab/elixir_dnstap#42、run 32868402729)では式のまま。同じ run の test ジョブは
matrix参照なので skip されず、Test on OTP 27.3.4.16 / Elixir 1.17.3と展開されている。つまり差は「inputs参照だから」ではなく「skip されたか否か」。影響
表示のみ。実行・判定には影響しない。ただし PR ごとに全 consumer(DNS 系 5 リポ)のチェック一覧に出るため、目に触れる頻度は高い。
対応
急ぐものではないが、直すなら選択肢は 2 つ。
name: Dialyzer Analysisとし、処理系の版数はジョブ内のログ(setup-beam の outputs)で示す。skip 時の表示は綺麗になるが、push run のチェック一覧から版数が消える。gate(All checks)ジョブは skip を success として扱わない設計なので、どちらを選んでも判定への影響はない。