Closed1
GitHub Actionsで連続Push問題を解決する
ドキュメントに書いてある
concurrency
を使えばいいらしい。
自分で使いそうなレシピを書いておく
main連続pushでデプロイをキャンセルはしないけど、1並列に強制したい場合
jobs:
deploy:
## ここから
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
## ここまで
name: Deploy
environment: staging
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: deploy
${{ github.workflow }}-${{ github.ref }}
にしてるのは、複数のワークフローが定義されているとブランチ名だけだと、他のワークフローも待ってしまうから。
LinterとかテストのCIとかで先発をキャンセルして、後発を実行したい場合
jobs:
deploy:
## ここから
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
## ここまで
name: Deploy
environment: staging
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: Lint
- name: Test
cancel-in-progress: true
を指定することで先発をキャンセルして、後発を実行できる
参考文献
このスクラップは2023/10/29にクローズされました