ハコヅミを作る #53:GitHub Actions の無料の枠を、1週間で 90% 使った
前回(#52)で、ベータ版の入口を開けました。同じ日に、GitHub からメールが届きました。
- 1週間で、無料の枠の 90% を使った
- 使い切ると、デプロイも止まる
- 何に使ったかを数えて、減らす
- いちばん効くのは、仕組みではなかった
90% を使った
メールの中身は、こうでした。
1,802 min used / 2,000 min included
Your usage will reset in 25 days on November 01, 2026.
GitHub Actions は、非公開のリポジトリでは、月に 2,000 分まで無料です。ハコヅミでは、PR を出すたびのテスト(CI)と、マージしたあとのデプロイに使っています。
今日は 10 月 7 日です。月の初めの1週間で、ほとんど使っていました。残りは 198 分、リセットまで 25 日あります。
無料の枠の心配は、#17 でもしていました。そのときは、デプロイで E2E を流すのをやめて、しのいでいます。2回目です。
使い切ると、デプロイも止まる
メールには、もう1行ありました。「予算が 0 ドルに設定されていなければ、超えた分は請求される」。
GitHub の請求の画面を見てもらうと、Actions の予算は 0 ドルで、「使い切ったら止める」になっていました。支払い方法を登録していないアカウントの、はじめの設定のようです。
つまり、198 分を使い切った時点で、CI もデプロイも止まります。止まると、11 月 1 日まで、本番に直しを出せません。
ベータ版を始めたばかりです。テスタから不具合の報告が来ても、直しを出せない。これが、いちばん困ることでした。
予算を 5 ドルに上げてもらいました。「使い切ったら止める」は、そのままです。5 ドルに達したら止まるので、払いすぎることはありません。
何に使ったか
Claude Code に、今月の実行を数えてもらいました。
| 種類 | 回数 | 1回あたり |
|---|---|---|
| PR の CI | 97 回 | 約 13 分 |
| デプロイ | 88 回 | 約 3 分 |
1回 13 分の内訳が、意外でした。CI は、型チェックなどのジョブ(1分半)と、画面を通すテスト(E2E)を3つに分けたジョブ(4分弱が3つ)でできています。足すと 13 分に満たないのですが、GitHub はジョブごとに、分に切り上げて数えます。2 + 4 + 4 + 3 = 13 分です。
E2E を3つに分けたのは、待ち時間を短くするためでした(#17)。待ち時間は短くなりましたが、数えられる分は、分けた数だけ切り上げが増えます。
失うものが小さいところから、減らす
減らし方の案を並べて、失うものが小さい2つを選びました。
デプロイの前のテストを、1つのジョブにまとめる:デプロイのたびに、テストを別のジョブで流してから、デプロイのジョブを動かしていました。別のジョブにすると、準備(パッケージのインストール)も2回、切り上げも2回です。1つのジョブの中で、テスト → ビルド → デプロイと順に流すようにしました。テストが落ちたら、デプロイしないのは変わりません。3 分が 2 分になります。
本番リリースの PR では、E2E を流さない:develop から main へのリリースの PR でも、E2E の全件を流していました。中身は、develop 向けの PR で通ったものと同じです。13 分が 2 分になります。
ただ、「中身は同じはず」に頼ると、前回と同じまちがいになります。そこで、歯止めを入れました。main に、develop から来たもののほかの変更が入っていたら、CI を失敗にします。中身が同じかを、仕組みで確かめる形です。
見送ったのは、E2E を3つに分けるのをやめる案です。13 分が 10 分ほどになりますが、待ち時間が倍になります。
いちばん効くのは、仕組みではなかった
減らせる分を見積もると、この1週間の使い方なら、月に 150〜250 分ほどでした。1,800 分の大半は残ります。
本当の原因は、PR の数でした。この1週間で、45 本ほど出しています。レビューで見つかった直しを、1件ずつ別の PR にしたからです。PR 1本につき、CI とデプロイで 15 分ほどかかります。
小さな直しは、まとめて1つの PR にする。手元のチェックを通してから、まとめて push する。仕組みではなく、進め方の話です。プロジェクトの決まりにも、そう書きました。
おわりに
- 無料の枠の設定は、最初に見ておく。予算が 0 ドルなら、使い切った時点で、止まってほしくないものまで止まる
- 時間で数えるものは、何で切り上げられるかを知っておく。分けると速くなるが、切り上げの分だけ増える
- 「中身は同じはず」で省くときは、同じであることを仕組みで確かめる
- 減らすなら、まず何に使ったかを数える。仕組みより、進め方が効くことがある
次回は、テスタを待つあいだに入れた、最初の直しです。