GITHUB_SHAとは?
GITHUB_SHAは、現在のworkflow実行を開始した40文字のcommitハッシュを保持します。
GitHub Actionsのすべての実行は特定のcommitに紐づいています。GITHUB_SHAはそのcommit SHAを公開するデフォルトの環境変数で、stepがイメージにタグを付けたり、artifactにラベルを付けたり、buildされている正確なコードに対してステータスを報告したりできるようにします。
何が含まれるか
完全なcommit SHAです。pull_requestイベントの場合、それはあなたのbranchのheadではなく、一時的なmerge commitのSHAです。実際のhead commitが必要なときは${{ github.event.pull_request.head.sha }}を使いましょう。
CIでの使い方
すべてのbuildが追跡可能になるよう、短いSHAでDockerイメージにタグを付けたり、artifactに名前を付けたりします。
shell
docker build -t myapp:${GITHUB_SHA::7} .重要なポイント
- GITHUB_SHAはトリガーとなったcommitのハッシュです。
- pull_requestではbranchのheadではなく、merge commitのSHAになります。
- 追跡可能なbuild artifactにタグを付けるには短いSHAを使いましょう。