Skip to main content

GitHub ホステッド ランナー リファレンス

GitHub ホステッド ランナーに関する情報 (仕様やカスタマイズ オプションなど) について説明します。

サポートされているランナーとハードウェアリソース

パブリックとプライベートのリポジトリで、さまざまな GitHub ホステッド ランナーを使用できます。

利用できるランナーの一覧については、以下をご覧ください。

GitHub ホスト型 Linux ランナーは、Android SDK ツールのハードウェア アクセラレーションをサポートしています。これにより、Android テストの実行が大幅に高速化され、使用時間が短縮されます。 Android ハードウェア アクセラレーションの詳細については、Android Developers ドキュメントの「Android Emulator のハードウェア アクセラレーションを設定する」を参照してください。

メモ

-latest ランナー イメージは、GitHub が提供する最新の安定したイメージであり、オペレーティング システム ベンダーから入手できるオペレーティング システムの最新バージョンではない可能性があります。

警告

ベータ版および非推奨のイメージは、"現状のまま"、"保証なし"、"利用可能な状態" で提供され、サービス レベル アグリーメントと保証から除外されます。 ベータ版のイメージは、カスタマー サポートでカバーされない場合があります。

パブリック リポジトリの標準の GitHub でホストされたランナー

パブリック リポジトリの場合、次の表に示すワークフロー ラベルを使用するジョブは、関連付けられた仕様を持つ仮想マシンで実行されます。 パブリック リポジトリでのこれらのランナーの使用は無料で無制限です。

仮想マシン プロセッサ (CPU) メモリ(RAM) ストレージ (SSD) アーキテクチャ ワークフロー ラベル
Linux 4 16 GB 14 GB x64 ubuntu-latestubuntu-24.04ubuntu-22.04
Windows 4 16 GB 14 GB x64 windows-latestwindows-2025windows-2022
Linux (パブリック プレビュー) 4 16 GB 14 GB arm64 ubuntu-24.04-armubuntu-22.04-arm
Windows [パブリック プレビュー] 4 16 GB 14 GB arm64 windows-11-arm
macOS 4 14 GB 14 GB Intel macos-13
macOS 3 (M1) 7 GB 14 GB arm64 macos-latestmacos-14macos-15

メモ

arm64 Linux および Windows ランナーはパブリック プレビュー段階であり、変更される可能性があります。

プライベート リポジトリの標準の GitHub でホストされたランナー

プライベート リポジトリの場合、次の表に示すワークフロー ラベルを使用するジョブは、関連付けられた仕様を持つ仮想マシンで実行されます。 これらのランナーは、GitHub アカウントの無料の分の割り当てを使用し、分単位の料金で課金されます。 詳しくは、「GitHub Actions billing」をご覧ください。

仮想マシン プロセッサ (CPU) メモリ(RAM) ストレージ (SSD) アーキテクチャ ワークフロー ラベル
Linux 2 7 GB 14 GB x64 ubuntu-latestubuntu-24.04ubuntu-22.04
Windows 2 7 GB 14 GB x64 windows-latestwindows-2025windows-2022
macOS 4 14 GB 14 GB Intel macos-13
macOS 3 (M1) 7 GB 14 GB arm64 macos-latestmacos-14macos-15

ワークフローログには、ジョブの実行に使用されたランナーが一覧表示されます。 詳しくは、「Viewing workflow run history」をご覧ください。

arm64 macOS ランナーの制限事項

  • GitHub によって提供されるすべてのアクションは、arm64 GitHub ホストランナーと互換性があります。 ただし、コミュニティ アクションは arm64 と互換性がない場合があり、実行時に手動でインストールする必要があります。
  • Apple の仮想化フレームワークの制限により、入れ子になった仮想化と Metal Performance Shaders (MPS) はサポートされていません。
  • 現在、macOS の大規模ランナーでは、Azure プライベート ネットワークや静的 IP の割り当てなどのネットワーク機能は使用できません。
  • Apple ではこの機能がサポートされていないため、arm64 macOS ランナーには、静的 UUID/UDID が割り当てされていません。 ただし、Intel MacOS ランナーには、静的 UDID、特に 4203018E-580F-C1B5-9525-B745CECA79EB が割り当てられます。 ビルドをテストする予定の同じホストでビルドして署名する場合は、開発プロビジョニング プロファイルを使用して署名できます。 静的 UDID が必要な場合は、Intel ランナーを使用して、その UDID を Apple Developer アカウントに追加できます。

より大きなランナー

GitHub Team プランと GitHub Enterprise Cloud プランのお客様は、標準の GitHub ホステッド ランナーよりも多くのリソースを持つさまざまなマネージド仮想マシンから選択できます。 これらのマシンは "より大きなランナー" と呼ばれます。 これらには、次の高度な機能が用意されています。

  • 追加の RAM、CPU、ディスク領域
  • 静的 IP アドレス
  • Azure プライベート ネットワーク
  • ランナーをグループ化する機能
  • 同時実行ワークフローをサポートするための自動スケール
  • GPU 搭載ランナー

これらの より大きなランナー (larger runner) は、GitHub によってホストされ、ランナー アプリケーションとその他のツールをプレインストールしています。

詳しくは、「より大きなランナーの使用」をご覧ください。

管理者特権

Linux と macOS のどちらの仮想マシンでも、パスワードレスの sudo が実行されます。 現在のユーザーより高い特権が必要なコマンドやインストール ツールを実行する必要がある場合は、パスワードを入力する必要なく、sudo を使うことができます。 詳しくは、Sudo のマニュアルをご覧ください。

Windowsの仮想マシンは、ユーザアカウント制御(UAC)が無効化されて管理者として動作するように設定されています。 詳しくは、Windows のドキュメント「ユーザー アカウント制御のしくみ」をご覧ください。

IP アドレス

GitHub Actions で GitHub ホステッド ランナーに使われる IP アドレス範囲のリストを取得するには、GitHub REST API を使用できます。 詳しくは、actions エンドポイントの応答で GET /meta キーをご覧ください。 詳しくは、「メタデータ用 REST API エンドポイント」をご覧ください。

Windows及びUbuntuのランナーはAzureでホストされており、そのためAzureのデータセンターと同じIPアドレスの範囲を持ちます。 macOSランナーはGitHub独自のmacOSクラウドでホストされます。

GitHub ホステッド ランナーには非常に多くの IP アドレス範囲があるため、内部リソースの許可リストとしてこれらを使うことはお勧めしません。 代わりに、静的 IP アドレス範囲またはセルフホステッド ランナーで より大きなランナーs の使用をお勧めします。 詳しくは、「より大きなランナーの使用」または「セルフホステッド ランナー」をご覧ください。

このAPIが返すGitHub ActionsのIPアドレスのリストは、週に1回更新されます。

GitHub ホストランナーの通信要件

GitHub ホステッド ランナーは、重要な通信操作を実行するために、GitHub 所有のエンドポイントへの接続を確立する必要があります。 さらに、ランナーは、アクション内で指定または利用する追加のネットワークへのアクセスを必要とする場合があります。

構成内のネットワーク間の GitHub ホステッド ランナーに対する適切な通信を確保するには、次の通信が許可されていることを確認します。

メモ

一覧表示されているドメインの一部は、CNAME レコードを使用して構成されます。 ファイアウォールによっては、すべての CNAME レコードに対して規則を再帰的に追加する必要がある場合があります。 CNAME レコードは今後変更される可能性があり、一覧表示されているドメインのみが一定のままであることに注意してください。

重要な操作に必要:

Shell
github.com
api.github.com
*.actions.githubusercontent.com

ダウンロード アクションに必要:

Shell
codeload.github.com
pkg.actions.githubusercontent.com

変更できないアクションの公開に必要:

Shell
ghcr.io

ジョブサマリー、ログ、ワークフロー アーティファクトのアップロード/ダウンロードに必要:

Shell
results-receiver.actions.githubusercontent.com
*.blob.core.windows.net

ランナー バージョンの更新に必要:

Shell
objects.githubusercontent.com
objects-origin.githubusercontent.com
github-releases.githubusercontent.com
github-registry-files.githubusercontent.com

OIDC トークンを取得するために必要:

Shell
*.actions.githubusercontent.com

パッケージまたはコンテナーを GitHub パッケージにダウンロードまたは発行するために必要です。

Shell
*.pkg.github.com
pkg-containers.githubusercontent.com
ghcr.io

Git Large File Storage に必要

Shell
github-cloud.githubusercontent.com
github-cloud.s3.amazonaws.com

Dependabot updates のジョブに必要です

Shell
dependabot-actions.githubapp.com

ファイル システム

GitHubは、仮想マシン上の特定のディレクトリでアクションとシェルコマンドを実行します。 仮想マシン上のファイルパスは静的なものではありません。 homeworkspaceworkflow ディレクトリのファイル パスを作成するには、GitHub で提供される環境変数を使います。

ディレクトリ環境変数説明
homeHOMEユーザ関連のデータが含まれます。 たとえば、このディレクトリにはログイン試行からの認証情報を含めることができます。
workspaceGITHUB_WORKSPACEアクションとシェルコマンドはこのディレクトリで実行されます。 このディレクトリの内容は、アクションによって変更することができ、後続のアクションでアクセスできます。
workflow/event.jsonGITHUB_EVENT_PATHワークフローをトリガーした Webhook イベントの POST ペイロード。 GitHubは、アクションを実行してアクション間でファイルの内容を隔離するたびにこれを書き換えます。

ワークフローごとに GitHub によって作成される環境変数の一覧については、「変数に情報を格納する」をご覧ください。

Dockerコンテナのファイルシステム

Docker コンテナーで実行されるアクションには、/github パスの下に静的なディレクトリがあります。 ただし、Dockerコンテナ内のファイルパスを構築するには、デフォルトの環境変数を使用することを強くお勧めします。

GitHub では、/github パス プレフィックスが予約されており、アクション用に 3 つのディレクトリが作成されます。

  • /github/home
  • /github/workspace - メモ: GitHub Actions は既定の Docker ユーザー(root) で実行しなければなりません。 Dockerfile で USER 命令が設定されていないことを確認します。されている場合は、GITHUB_WORKSPACE にアクセスできません。
  • /github/workflow