ガイド

GitHub ActionsのmacOSの1分は実際いくらかかるのか

GitHubは、macOS runnerの利用時間にLinuxの何倍もの料金を課金します。このページでは料金を分解して説明します。月額固定の専用マシンが従量課金を下回る地点を示し、macOSのCI費用を減らす実践的な方法を挙げます。

料金

GitHubホスト型runnerでは、Linuxは1分あたり約$0.006です。macOSは、選ぶrunnerのサイズによって約$0.062〜$0.102です。同じ1分の実時間で、およそ10〜20倍の差になります。

有料プランに含まれる無料枠の分数も、重み付けされた倍率で消費されます。そのためmacOSの1分は、Linuxの1分よりはるかに速く無料枠を減らします。多くのiOSチームは月の早い時期に無料枠を使い切り、その後は分単位で支払っています。

倍率の理由

  • macOSはAppleのハードウェアでしか動きません。そのためプロバイダーは、Linuxのように汎用サーバーへmacOSの負荷を詰め込めません。
  • Macをリースしたり共有したりする方法は、Appleのライセンスで決められています。これが過剰な割り当てを制限します。
  • ホスト型runnerはジョブごとにまっさらな状態から始まります。そのため、すでに持っていた依存関係の再ダウンロードやキャッシュの再構築にも料金を払うことになります。

損益分岐点の計算

$0.062〜$0.102の安いほうの単価なら、月額固定$139の専用runnerは月2,242分ほどで元が取れます。目安としては、テストのある実際のiOSプロジェクトで、1日に数件のプルリクエストを処理する程度です。

  3,000 min/mo   metered $240 to $480     flat $139
  6,000 min/mo   metered $480 to $960     flat $139
 12,000 min/mo   metered $960 to $1,920   flat $139

ご自身のチームの分数を計算ツールに入れると、正確な数字がわかります。

請求額を減らす方法

  • macOS以外の作業はLinuxに移します。Lint、共有パッケージのユニットテスト、リリース用のツールには、たいていMacは要りません。
  • 積極的にキャッシュします。ホスト型runnerでは、SwiftPM、CocoaPods、DerivedDataのキャッシュを復元します。再構築に料金を払わずに済みます。
  • マトリックスの無駄を削ります。デバイスのマトリックス全体はmainで実行します。プルリクエストでは1つの構成だけにします。
  • 損益分岐点を超えたら固定料金に切り替えます。常に2,242分を超えているなら、従量課金は選べる中で最も高い選択肢です。

よくある質問

GitHub ActionsのmacOSは1分いくらですか?

+

runnerのサイズによって1分あたり約$0.062〜$0.102です。Linuxは約$0.006です。またmacOSの分数は、プランの無料枠を重み付けされた倍率で消費します。

macOS runnerがLinuxよりずっと高いのはなぜですか?

+

macOSを合法的に動かせるのはAppleのハードウェアだけです。そのためプロバイダーは、安価な汎用サーバーにその負荷をまとめられません。さらにAppleのライセンスが、マシンの共有方法を制限しています。ハードウェアは専用で、そのコストが利用時間に配分されます。

専用Macが分単位課金より安くなるのはどの時点ですか?

+

安いほうの従量単価なら、月額固定$139のマシンは月2,242分前後のmacOS利用で元が取れます。それを超えると固定料金のほうが安く、ビルドのたびに差が広がります。

GitHubプランの無料枠でmacOSのビルドはまかなえますか?

+

一部だけです。macOSでは無料枠が重み付けされた倍率で消費されます。そのため表示上の数字よりずっと早く無くなります。毎日ビルドするチームは、たいてい月初の1〜2週間で有料の分数に移ります。

関連ガイド