[アップデート] GitHub Actions で ARM64 アーキテクチャのランナーがベータ版で利用可能になりました
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは、製造ビジネステクノロジー部の若槻です。
先月に GitHub Actions で ARM64 アーキテクチャのランナーがベータで利用可能となるアップデートがありました。
従来の x86_64 アーキテクチャに加えて、ARM64 アーキテクチャでのビルドやテストが可能となることにより、GitHub Actions 利用時のパフォーマンスおよびコスト効率の向上や、マルチアーキテクチャ対応の容易化が期待できます。
ARM64 アーキテクチャを試してみた
ランナーの作成
ARM64 アーキテクチャのランナーは既定では利用できません。GitHub 組織にカスタムな GitHub hosted runner として追加することでリポジトリで利用できるようになります。
https://github.com/organizations/<Organization>/settings/actions/runnersにアクセスして、新しい GitHub-hosted runner を追加します。

プラットフォームとして、今までの x86 アーキテクチャに加えて、Linux ARM64 および Windows ARM64 がベータで利用可能となっています。今回は Linux ARM64 を選択します。

イメージは Ubuntu 24.04 と Ubuntu 22.04 が利用可能です。今回は Ubuntu 24.04 を選択します。

サイズは 2-core 8 GB RAM · 75 GB SSDを選択します。

次のような設定でランナーを作成します。

ランナーを追加できました。

ちなみにカスタムなランナーは無料枠が使えないので、支出限度額が不足している場合はランナーがシャットダウンされます。その際の対応を次の記事でまとめています。
追加したランナーがリポジトリ側に表示されていることも確認します。

ランナーの利用
カスタムなランナーをワークフローで利用する場合は、ジョブの runs-on.labels でランナー名を指定します。
次のようなワークフローを作成して、ARM64 アーキテクチャのランナーでのジョブ実行を確認してみます。
name: ARM64 Runner Test
on: workflow_dispatch
jobs:
my-job:
runs-on:
labels: arm64_ubuntu2404_2core
steps:
- name: Measure memory size
run: free -m
- name: Check architecture type
run: uname -m
ワークフローを実行すると、ARM64 アーキテクチャのランナーでジョブを実行できました。

uname コマンドでアーキテクチャが aarch64 であることもちゃんと確認できていますね。
おわりに
GitHub Actions で ARM64 アーキテクチャのランナーがベータで利用可能となるアップデートがあったので共有しました。
カスタムなランナーを追加する必要があるという設定は必要ですが、GitHub によると ARM64 を使うことにより x86 を使う場合よりも最大 37 % も安価になるとのことなので、導入を検討してみると良いかと思います。
以上






