GitHub Actions の支払いを管理する GitHubは、macOSランナーのホストにMacStadiumを使用しています。
カスタム及びデフォルトラベルの作成に関する情報については「セルフホストランナーでのラベルの利用」を参照してください。
ワークフローでのセルフホストランナーの利用
ラベルを使うと、セルフホストランナーの共有される特徴に基づき、ワークフローのジョブを特定の種類のセルフホストランナーに送れます。 たとえば、ジョブが特定のハードウェアコンポーネントやソフトウェアパッケージを必要とするなら、カスタムラベルをランナーに割り当て、そのラベルを持つランナー上でのみ実行されるようジョブを設定できます。
ジョブでセルフホストランナーを指定するには、ワークフローファイル中でセルフホストランナーのラベルでruns-onを設定してください。
すべてのセルフホストランナーはself-hostedラベルを持ち、self-hostedラベルだけを提供すれば任意のセルフホストランナーを選択できます。 あるいは、特定のオペレーティングシステムやシステムアーキテクチャのラベルといった追加のラベルと合わせて配列中でself-hostedを使い、指定した種類のランナーだけを選択することもできます。
詳細については、「GitHub Actionsのワークフロー構文」を参照してください。
デフォルトラベルを使ったジョブの転送
セルフホストランナーは、GitHub Actionsに追加されたときに特定のラベルを自動的に受信します。 それらは、ランナーのオペレーティングシステムとハードウェアプラットフォームを示すために使われます。
self-hosted: セルフホストランナーに適用されるデフォルトのラベル。linux、windows、macOS: オペレーティングシステムに基づいて適用されます。x86、x64、ARM、ARM64: ハードウェアアーキテクチャに基づいて適用されます。
ワークフローのYAMLを使って、これらのラベルの組み合わせに対してジョブを送信できます。 この例では、3つのラベルすべてにマッチするセルフホストランナーが、ジョブを実行する資格を持つことになります。
runs-on: [self-hosted, linux, ARM64]
self-hosted- このジョブをセルフホストランナー上で実行します。linux- Linuxベースのランナーだけを使います。ARM64- ARM64ハードウェアベースのランナーだけを使います。
デフォルトラベルは固定されており、変更や削除はできません。 ジョブの転送をもっと制御する必要がある場合は、カスタムラベルの利用を検討してください。
カスタムラベルを使ったジョブの転送
カスタムラベルを作成し、セルフホストランナーに割り当てることがいつでもできます。 カスタムラベルを使えば、付けられたラベルに基づいて特定の種類のセルフホストランナーにジョブを送信できるようになります。
たとえば、特定の種類のグラフィックハードウェアを必要とするジョブがあるなら、gpuというカスタムラベルを作成し、そのハードウェアがインストールされているランナーに割り当てることができます。 割り当てられたすべてのラベルにマッチするセルフホストランナーが、そのジョブを実行できるようになります。
以下の例は、デフォルトとカスタムのラベルを組み合わせたジョブです。
runs-on: [self-hosted, linux, x64, gpu]
self-hosted- このジョブをセルフホストランナー上で実行します。linux- Linuxベースのランナーだけを使います。x64- x64ハードウェアベースのランナーだけを使います。gpu- このカスタムラベルは、GPUハードウェアがインストールされているセルフホストランナーに手動で割り当てられました。
これらのラベルは累積的に働くので、このジョブを処理できるセルフホストランナーは、4つすべてのラベルがマッチしていなければなりません。
セルフホストランナーのルーティングの優先順位
リポジトリレベルと Organization レベルの両方のランナーを使用する場合、GitHub は、次の優先順位に従ってジョブをセルフホストランナーにルーティングします。
- ジョブの
runs-onラベルが処理されます。 次に、GitHub は、ラベル要件に一致するランナーを検索します。 - ジョブは、ジョブラベルに一致するリポジトリレベルのランナーに送信されます。 リポジトリレベルのランナーが利用できない(ビジー、オフライン、または一致するラベルがない)場合:
- ジョブは、ジョブラベルに一致する Organization レベルのランナーに送信されます。 Organization レベルのランナーが利用できない場合、ジョブ要求はエラーで失敗します。

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
