今日のコメント
ねむい
やることがいろいろ詰まっててやばいな~という最近
こういうときは一旦やることリストアップして書き出して、冷静にスケジューリングしてやっていくしかない
今週末は三連休らしい。ここで遅れを取り戻したいところ
今日のまなび
GithubActions
Actions、ちょっと複雑なことしようとすると一瞬で難しくなってなんだかな~という感じ
outputに複数行詰める
|
|
EOFみたいなやつで囲めるらしい。辺にエスケープするよりかはシンプルで良い。 とはいえなんかこんな基本的なことが未だにトリッキーな方法でできないのがちょっとつらい
シンプルに標準出力全部キャプチャーとかできたらいいのにな~~~
continue-on-errorの罠とif: always()
continue-on-error
だとjobの成功判定が強制的にsuccessしたことになってしまう(最終的なサマリの画面でもそう表示されていまう)
steps.<step_id>.conclusion
でステップの結果がsuccessなのかfailure等々なのかが分かるが、continue-on-error: true
にしているとこれも強制的にsuccessになる。
ちなみに、steps.<step_id>.outcome
を見ればcontinue-on-errorでもfailureだと分かる
https://docs.github.com/ja/actions/learn-github-actions/contexts
stepにifで前のステップの状況をもとにそのステップを実行するかどうかを指定することができる。
デフォルトだとsuccess()だと思われて、前のステップが成功してないと次のステップはスキップされる。
逆にfailure()があるし、前のステップの状態に関わらず次のステップを実行させるのにはalways()
を使うことができる。
まとめ:
成功不成功に関わらず次のステップに進むためにcontinue-on-error
を使うのは間違い。always()
を使うほうが正しい。
job
依存関係をneedsで設定できる
GCP
|
|