概要
2021年4月19日からGitHub Actionsで、ワークフローおよびジョブレベルでconcurrencyを指定することが可能になり、これを用いることで、ワークフローの同時(並列)実行を制御することができるようになった。
具体例
例えば、以下のようにワークフローのトップレベルでconcurrencyを指定することで、このワークフローが同時に実行されることがないということを保証してくれる
name: Python application set up
on:
push:
branches: [ main ]
concurrency:
my_concurrency_workflow
ちなみに、ジョブ単位で指定する際は、以下のように、指定すればOKです。
jobs:
unit-test:
concurrency: my_concurrency_job
実際のGithub上の画面でいうとそれぞれ以下のようになる
設定前
設定後
あとから実行されたワークフローは、保留中となり、前に実行されているワークフローの完了を待ってから実行されるようになる
まとめ
いかがでしたでしょうか。本記事では、GithubActionsのワークフロー同時(並列)実行を制御する方法とその実装方法の具体例について紹介しています。ぜひ参考にしてみて下さい