[アップデート] GitHub Actions で ARM64 アーキテクチャのランナーがベータ版で利用可能になりました

[アップデート] GitHub Actions で ARM64 アーキテクチャのランナーがベータ版で利用可能になりました

Clock Icon2024.07.27

こんにちは、製造ビジネステクノロジー部の若槻です。

先月に GitHub Actions で ARM64 アーキテクチャのランナーがベータで利用可能となるアップデートがありました。

https://github.blog/jp/2024-06-07-arm64-on-github-actions-powering-faster-more-efficient-build-systems/

従来の 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を選択します。

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

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

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

https://dev.classmethod.jp/articles/updaing-spending-limit-after-adding-github-hosted-runner-led-to-shutdown/

追加したランナーがリポジトリ側に表示されていることも確認します。

ランナーの利用

カスタムなランナーをワークフローで利用する場合は、ジョブの runs-on.labels でランナー名を指定します。

次のようなワークフローを作成して、ARM64 アーキテクチャのランナーでのジョブ実行を確認してみます。

.github/workflows/arm64_runner_test.yml
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 % も安価になるとのことなので、導入を検討してみると良いかと思います。

以上

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.