GitHub Actionsの料金を実際の数字で解説
GitHub Actionsは、パブリックリポジトリでは無料です。プライベートリポジトリでは分単位で課金され、runnerの種類ごとに単価が違います。このページでは、すべての単価を1か所にまとめます。無料枠が実際にどう消費されるかを説明します。そして、請求書で目立つのがなぜmacOSの行なのかを示します。
1分あたりの単価
以下は、プライベートリポジトリでのホスト型runnerについてGitHubが公開している単価です。実時間1分あたりの料金で、各ジョブは次の1分単位に切り上げられます。
Linux 2-core (x64) $0.006 Linux 2-core (arm64) $0.005 Windows 2-core $0.010 macOS 3-core / 4-core $0.062 macOS 12-core $0.077 macOS 5-core (M2 Pro) $0.102
目立つ点が2つあります。標準のmacOSの1分はLinuxの約10倍で、最大のmacOS runnerは約17倍です。この列に比べれば、請求書のほかの項目はわずかです。
無料枠の本当の仕組み
有料プランには毎月一定の無料枠があります。Freeでおよそ2,000分、Teamで3,000分、Enterpriseで50,000分です。落とし穴は、この枠がLinux換算の分数で数えられることです。macOSの1分は無料枠を10分消費し、Windowsの1分は2分消費します。つまり10分のiOSビルドを1回実行するだけで、3,000分の枠から100分が減ります。
実際には、TeamプランのiOSチームは最初の1〜2週間で枠を使い切ります。月の残りは従量単価で支払います。無料枠はmacOSの作業の割引というより、短い猶予期間にすぎません。
実際の1か月
小さなチームを例にします。プルリクエストのたびに12分のテストスイートを実行し、営業日1日あたり約20回プッシュします。macOSの利用は月におよそ5,000分です。
5,000 min x $0.062 = $310/mo (standard runner) 5,000 min x $0.102 = $510/mo (largest runner) flat dedicated M6 $139/mo (unlimited)
標準の単価なら、月2,242分あたりから固定料金のマシンが有利になります。その後はビルドのたびに差が広がります。ご自身の数字は計算ツールで試せます。
分数以外のコスト
- ストレージ。無料枠を超えた成果物とキャッシュは、1 GBあたり月額で課金されます。保持期間を初期設定のままにすると、大きなXcodeのアーカイブが積み上がります。
- 再ダウンロード。ホスト型runnerはまっさらな状態から始まるので、ジョブのたびに依存関係を取得し直し、キャッシュを再構築します。その時間もmacOSの単価で課金されます。
- 待ち時間は無料ですが、安くはありません。macOS runnerの空きを待つ間は課金されません。ただし、マージがそのたびに遅れます。
本当に重要な判断は1つ
毎日ビルドするチームにとっての問題は、macOS runnerのサイズ選びではありません。そもそも分単位で払うかどうかです。損益分岐点より下なら、従量課金で十分でシンプルです。それより上なら、固定料金の専用Macのほうが毎月安く、キャッシュが温まるほど速くなります。その計算はmacOSの分単位料金ガイドで詳しく説明しています。
よくある質問
GitHub Actionsは1分いくらですか?
+
プライベートリポジトリの場合、Linux 2コアは$0.006、Windows 2コアは$0.010です。macOSの3コアまたは4コアは$0.062、12コアは$0.077です。5コアのM2 ProのmacOS runnerは1分$0.102です。パブリックリポジトリでは、標準のrunnerは無料です。
macOSでは無料枠はどう数えられますか?
+
無料枠はLinux換算の分数で計算されます。macOSの1分は無料枠を10分、Windowsの1分は2分消費します。そのため3,000分の枠でまかなえるのは、macOSでは約300分だけです。
パブリックリポジトリならGitHub Actionsは無料ですか?
+
はい。パブリックリポジトリでは、標準のホスト型runnerは無料です。大きいrunnerとプライベートリポジトリは分単位で課金されます。
専用MacがGitHubホスト型のmacOSより安くなるのはいつですか?
+
標準の$0.062の単価なら、月額固定$139の専用runnerは月2,242分前後のmacOS利用で元が取れます。毎日ビルドするチームの多くは、最初の2週間でその地点を超えます。