runner は、workflow の job を実際に実行するマシンです。 GitHub が用意したものを借りることもできますし、自分で用意したマシンを登録することもできます。
まず押さえたいポイント
- workflow を実際に動かす実行環境で、手元PCとは別物として考える
- GitHub-hosted runner(借りる)と self-hosted runner(自前)の2種類がある
- どちらを選ぶかは「速さ」ではなく「その環境でしか動かない事情があるか」で決める
料金の目安(2026年8月時点)
GitHub の公式ドキュメントによると、標準の GitHub-hosted runner は public リポジトリでは無料です。private リポジトリでは無料枠があり、GitHub Free で月2,000分、Pro / Team で月3,000分です。 注意したいのは OS による単価差で、Linux を基準にすると Windows は約1.7倍、macOS は約10倍の課金になります。CI が重いと感じたら、まず「macOS でしかできない処理か」を疑うのが費用面では効きます。 (出典:GitHub Docs / About billing for GitHub Actions)
self-hosted runner を選ぶ前に
self-hosted は社内ネットワークの中にしか無いDBへ繋ぎたい、特殊なハードウェアが要る、といった事情があるときの選択肢です。ただし GitHub は public リポジトリで self-hosted runner を使わないよう明確に警告しています。公開リポジトリは誰でも fork して pull request を出せるため、workflow を通じて自前マシン上で任意のコードを実行される恐れがあるからです。 (出典:GitHub Docs / Adding self-hosted runners)
押さえておきたい注意点
「手元で動いたのに runner では落ちる」の原因はほぼ環境差です。切り分けは次の順で見ると早いです。
- 依存のバージョン(Node / PHP / Python の入っている版が違う)
- 環境変数と Secrets の未設定
- ファイルの置き場所と大文字小文字(Linux runner は大文字小文字を区別する)
- ネットワーク到達性(社内サービスへ出られない)
実務で見るポイント
- まずは GitHub-hosted runner から始める。self-hosted は事情ができてからで遅くない
- self-hosted は前のジョブの残骸が残るため、再現性を保つ後始末の設計が要る
- 全体像はGitHub Actionsとは?を参照