GitHub Actions:「The job was not started because recent account payments have failed or your spending limit needs to be increased」
リポジトリを持つアカウントの支払いの状態のせいで、GitHub がジョブにランナーを渡さなかった、という意味です(「最近の支払いが失敗したか、使用上限を上げる必要があるため、ジョブは開始されませんでした」)。ワークフローは何も動いておらず、支払いの側が変わるまでは再実行しても同じです。メッセージが挙げる原因は2つですが、GitHub の文書には3つあります。
ジョブの様子
2026年11月2日の公開の報告(runs-on: ubuntu-latest、当時は非公開のリポジトリ)での注釈の全文です:
The job was not started because recent account payments have failed or your spending limit needs to be increased. Please check the 'Billing & plans' section in your settings
- ジョブは数秒で失敗します(UTC の7時22分51秒に作られ、7時22分55秒に終了)。ランナーの名前は無く、ランナーの ID は0、ステップもありません。
- ログはありません。取りに行くと 404 です。説明は注釈だけです。
- この報告では、リポジトリの2つのワークフローがどちらも同じ形で失敗し、再実行しても同じでした(MR_SIAVASH_HUB_AI #66)。
- メッセージにある設定の欄は、いまは Billing & Licensing という名前です。
理由:3つの原因
- 含まれる使用量を使い切り、支払い方法が登録されていない。非公開のリポジトリのジョブは、プランに含まれる毎月の量から引かれます。この量はいまはドルで示され、GitHub Free と Free for organizations で12ドル、Pro と Team で18ドル、Enterprise Cloud で300ドルです。Free なら、標準の Linux のランナー(1分0.006ドル)で約2,000分、Windows(0.010ドル)で1,200分、macOS(0.062ドル)で190分ほどです。有効な支払い方法が無いと、この量を使ったところで止められます。あるプロジェクトは、5つのエージェントが並んでプッシュし、プッシュのたびに全部のテストが2回走ったため、2,000分を2日で使い切りました(Geyser-Genomics #161)。
- 使用を止める設定の予算を使い切った。支払い方法がある場合、Stop usage when budget limit is reached を付けた予算は、使い切ると GitHub のホストのランナーを止めます。Actions に掛かる予算ならどれでも効きます(製品ごと・ランナーの種類ごと・リポジトリごと)。上の報告では、持ち主の Budgets and alerts の画面で Actions が「$0.00 / $0.00 spent」になっていて、持ち主は一度も支払ったことが無いと話していました。
- アカウントがロックされている。支払いが断られると、アカウントの有料の機能がロックされます。GitHub は、Copilot の申し込みや予算の引き上げのときの承認の仮押さえ(authorization hold)が失敗すると、個人アカウントの支払いがロックされて GitHub Actions が止まることがあるとも書いています。GitHub Free のままでも、支払い方法を外した後でも起きます。
どうするか
使った分は、実行を始めた人ではなく、リポジトリの持ち主に付きます。組織なら、変えられるのは組織のオーナーか請求の管理者(billing manager)だけで、ほかの人は注釈を伝えることしかできません。
- 何を使ったかを見る:Settings > Billing & Licensing > Usage(組織なら組織の設定)。Budgets and alerts の画面には、予算ごとに使った額が並びます。
- 待つ:含まれる使用量は、請求の期間の始まりで元に戻ります。
- 支払い方法を登録する、予算を上げる、または Stop usage when budget limit is reached を外す。そこから先、含まれる量を超えた分は請求されます。
- アカウントがロックされているなら:Billing & Licensing > Payment information で支払い方法を更新します。GitHub によると、支払いが通ればロックは自動で外れ、それには最大24時間かかります。そこに何の問題も出ていないなら、GitHub の文書は GitHub Support に支払いのロックを調べてもらうよう案内しています。
- リポジトリを公開にする:公開のリポジトリでは、標準の GitHub のホストのランナーは無料で、含まれる使用量からも引かれません。履歴の中身まで全部が公開されるので、先に秘密の情報が無いかを確かめてください。効くのは最初の2つの原因で、ロックされたアカウントでは Actions がそれでも止まることがあります。
- セルフホストのランナーを使う:無料で、含まれる使用量からも引かれません。GitHub の予算の文書が止めると書いているのは GitHub のホストのランナーで、ロックされたアカウントでセルフホストのランナーがどうなるかは書かれていません。
- そのあと再実行:実行のページで Re-run jobs > Re-run failed jobs、または
gh run rerun <run-id> --failed。
繰り返さないために
- 含まれる使用量の知らせ(Included usage alerts)は、含まれる量の90%と100%でメールを送ります。Budgets and alerts の画面で入れたり切ったりできます。
- macOS の1分は Linux の約10分ぶんです(0.062ドルと0.006ドル)。プルリクのたびに macOS のジョブが走ると、一番早く減ります。
- 重なった実行を減らす。上のプロジェクトは、プルリク1本あたりの分数を半分にしようと、プッシュでの実行を既定のブランチだけにし、同じプルリクに新しいプッシュが来たら古い実行を止め、下書きのプルリクでは重いジョブを飛ばすようにしました(Geyser-Genomics #161)。
on:
push:
branches: [main]
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
e2e:
if: ${{ !github.event.pull_request.draft }}
見分け方
動かなかったほかのジョブも、ランナーとステップがありません。このジョブは数秒で失敗し、どのホストのランナーも受け取らなかったジョブは約15分でキャンセルされます(「The job was not acquired by Runner of type hosted」)。ジョブの API で判断する道具を作るなら、runner_name は null ではなく空の文字列のことがある点に気を付け(conveyor #510)、注釈を読んでください(ジョブの ID はチェックランの ID でもあります):
gh api repos/OWNER/REPO/actions/jobs/JOB_ID --jq '{runner_id, runner_name, steps: (.steps | length)}'
gh api repos/OWNER/REPO/check-runs/JOB_ID/annotations --jq '.[].message'
GitHub が始めなかったジョブを IntelliJ IDEA から見るなら
Pipeline Inbox for GitHub Actions Workflows は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。すべてのリポジトリの実行を、ジョブ・ステップと一緒に IDE のツールウィンドウに並べるので、動いたジョブの横で、ステップの無い失敗のジョブが目立ちます。いまのブランチの実行はステータスバーに出ます。読むのは無料、失敗したジョブの再実行・キャンセル・ワークフローの実行・デプロイのレビューは Pro(月 US$1.50・30日の無料試用つき)です。
GitHub と GitHub Actions は GitHub, Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・JetBrains のいずれとも提携しておらず、承認も受けていません。値段と量は2026年11月3日の GitHub の請求の文書によります。
ほかに:「The job was not acquired by Runner of type hosted」 · 「Waiting for a runner to pick up this job」 · デバッグログ付きでジョブを再実行する · IntelliJ IDEA で使える GitHub Actions のプラグインの比較 · English