はじめに
2022/09 から GitHub Actions の worklflow name が動的に定義可能になりました。
これまでは、コミットメッセージなどの決められたテキストが表示されていましたが、workflow の実行時に個別定義することが出来るようになりました。
workflow name を動的に適用する
workflow name を動的に適用するためには、 YAML 内に run-name
を定義します
name: Test
run-name: Test run-name here!
run-name 内では ${{ github }}
や ${{ inputs }}
の context のみが利用出来ます
利用例
例として以下のような、 main branch に push されたら shell を実行する workflow が定義されていたとします
name: Deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- run: sh deploy.sh
多くの場合 default branch (main/master branch) に 直接 push せず merge されることが多く、標準設定のままのコミットメッセージだと "Merge pull request #XX from foo/bar" が一覧に表示されるだけになってしまいます。
今回の例では、 deploy されたと言うことを表示させてあげれば良いと考えられるため以下のように定義するとよいでしょう。
name: Deploy
run-name: Deploy to XXXX
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- run: sh deploy.sh
記載した例には、workflow name が動的に定義出来るようになったメリットを享受出来ていませんが、^ にも記載しているとおり、 ${{ github }}
や ${{ inputs }}
の context が利用出来るため自身により最適なメッセー定義を考えてみると面白そうです
最後に
run-name
を適切に設定してあげることで迷うこと無く CI/CD の実行やその結果を確認すると言ったことが出来るようになります
小さなことかも知れませんが、開き間違いなどのストレスなく開発出来る環境にしていきたいですね。
Reference
GitHub Actions: Dynamic names for workflow runs