GitHub Actionsの自分の考え方
あんまよくわかってなかったので
.github/workflows/*.yml
粒度
workflow
jobs
step: 個別にシェルが与えられる
workflowは
トリガー
1つ以上のjob
ひとつのシナリオを表す
発火タイミングややりたいこと単位で考えればいい
jobs
その流れをどう分割、並列、段階化するか
別のworkflowにする基準
トリガーが異なる
セキュリティや環境、権限が違う
ランタイム特性が違う
e2eテストとか
責任範囲の違い
jobにする基準
トリガーが一緒で、同じ流れで扱いたい
lint, test, buildとか
OS違い
matrix
jobとstepの基準
基本は分けたほうがいい
分けると、どれが落ちたかわかりやすい
GitHub上ではjob単位で結果が一覧される
再利用
composite action = 「steps の塊を 1 ステップとして使い回す」部品
reusable workflow = 「jobs を含む workflow 全体を 1 job として使い回す」部品
他のworkflowから、jobの形で呼び出せる