[アップデート] GitHub Actions で ARM64 アーキテクチャのランナーがベータ版で利用可能になりました
こんにちは、製造ビジネステクノロジー部の若槻です。
先月に 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 % も安価になるとのことなので、導入を検討してみると良いかと思います。
以上