背景:GitHub Actionsのジョブがたまる

連続してPUSHすると、GitHub Actionsが溜まります。

新しくPUSHしたものだけCI/CDしてくれればいいのに、実行ジョブが溜まってきます。

以下のスクリーンショットではジョブが黄色の状態で溜まっているのがわかります。(極端な状態ですけど)

concurrencyを使用する

そんな時にconcurrencyを使用します。

以下がGitHubの公式の説明です。

コンカレンシーの使用 - GitHub Docs

実際にどうやって使用するかというと、、、。

以下のようにconcurrencyにジョブ名deployを追記しています。

concurrency:
  deploy

jobs:
    deploy:
        env:
          HUGO_VERSION: ${{ github.sha }}
          TZ: Asia/Shanghai
        runs-on: ubuntu-latest

キャンセルされると、以下のようなメッセージが出力されます。

Canceling since a higher priority waiting request for 'deploy' exists

ジョブの詳細は以下のように出力されます。