[パブリックプレビュー] GitHub Actions で軽量ランナー「ubuntu-slim」が追加されました

[パブリックプレビュー] GitHub Actions で軽量ランナー「ubuntu-slim」が追加されました

2025.11.02

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

GitHub Actions に 1 vCPU Linux ランナー ubuntu-slim がパブリックプレビューで追加されました。

https://github.blog/changelog/2025-10-28-1-vcpu-linux-runner-now-available-in-github-actions-in-public-preview/

ubuntu-slim ランナーは 1 vCPU と 5 GB RAM と低スペックとなっており、また従来の VM インスタンスではなく、コンテナ内でジョブが実行されるため、軽量な処理に適しており、コスト効率の良い実行が可能となっています。一方で最大実行時間が 15 分に制限されているため、長時間実行されるワークフローには適していません。

試してみた

次のような典型的な Node プロジェクト向けワークフローで、今回追加された ubuntu-slim ランナーと従来の ubuntu-latest ランナーを比較しつつ試してみました。

.github/workflows/ci.yml
name: CI

on: pull_request

jobs:
  Integration:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, ubuntu-slim]
    steps:
      - name: Checkout
        uses: actions/checkout@v5

      - name: Setup Node
        uses: actions/setup-node@v6

      - name: Cache Node Modules
        uses: actions/cache@v4
        id: cache_node_modules
        with:
          path: "**/node_modules"
          key: ${{ runner.os }}-${{ hashFiles('package-lock.json') }}-node-${{ hashFiles('**/package.json') }}

      - name: Install Node Modules
        if: ${{ steps.cache_node_modules.outputs.cache-hit != 'true' }}
        run: npm ci --no-audit

以下、それぞれのランナーでの実行結果の比較となります。

Set up job の出力情報

GitHub Actions のワークフロー実行ログの Set up job セクションで、各ランナーの詳細情報が確認でき、その中で環境情報も出力されます。

まず ubuntu-latest では次のようになっていました。VM 上で動作しているからか Operating System や Runner Image の情報が詳細に出力されています。

Current runner version: '2.329.0'
Runner Image Provisioner
  Hosted Compute Agent
  Version: 20251016.436
  Commit: 8ab8ac8bfd662a3739dab9fe09456aba92132568
  Build Date: 2025-10-15T20:44:12Z
Operating System
  Ubuntu
  24.04.3
  LTS
Runner Image
  Image: ubuntu-24.04
  Version: 20251030.96.2
  Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20251030.96/images/ubuntu/Ubuntu2404-Readme.md
  Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20251030.96

一方で ubuntu-slim では以下のようになっていました。同じ Ubuntu 24.04 ベースですが、VM ではなく Docker コンテナ上で動作しているためか、情報が簡素化されています。

Current runner version: '2.329.0'
Runner Image Provisioner
  Hosted Compute Agent
  Version: 20251016.436
  Commit: 8ab8ac8bfd662a3739dab9fe09456aba92132568
  Build Date: 2025-10-15T20:44:12Z
VM Image
  - OS: Linux (x64)
  - Source: Docker
  - Name: ubuntu:24.04
  - Version: 20251031.23.1

実行時間

ワークフローの実行時間を比較した結果は以下の通りでした。

ステップ 所要時間(ubuntu-latest) 所要時間(ubuntu-slim)
Set up job 2s 3s
Checkout 1s 4s
Setup Node 3s 0s
Cache Node Modules 0s 1s
Install Node Modules 21s 26s
Post Cache Node Modules 9s 24s
Post Setup Node 1s 0s
合計 37s 58s

Post Cache Node Modules ステップで顕著な差が出ていますね。処理内容を見るとキャッシュアーカイブのコマンドに次のような差分がありました。

# ubuntu-latest の場合
/usr/bin/tar --posix -cf cache.tzst --exclude cache.tzst -P -C /home/runner/work/cdk_sample_app/cdk_sample_app --files-from manifest.txt --use-compress-program zstdmt

# ubuntu-slim の場合
/usr/bin/tar --posix -cf cache.tgz --exclude cache.tgz -P -C /home/runner/work/cdk_sample_app/cdk_sample_app --files-from manifest.txt -z

ubuntu-latest では zstdmt という比較的新しい高速な圧縮ツールが使われているのに対し、ubuntu-slim では -z オプションが使われており、これは従来の gzip 圧縮となるため、処理時間が長くなっていると考えられます。

そもそも ubuntu-slim はパッケージが最小限に抑えられているイメージです。よってそもそも zstdmt がインストールされていないためか、環境のスペックダウンに加えて、使用可能なツールの違いもパフォーマンスに影響を与えている可能性もありそうです。

おわりに

GitHub Actions に 1 vCPU Linux ランナー ubuntu-slim がパブリックプレビューで追加されたのでご紹介しました。リリース記事にあった通り Issue にラベル付けするなどの軽量なジョブであれば、コスト効率良く実行できる選択肢として有用そうです。

スペックや料金の比較は下記ブログに詳しいので、併せてご参照ください。

https://qiita.com/Nozomuts/items/be0a6e1cf2b4f42c2a70

以上

この記事をシェアする

FacebookHatena blogX

関連記事