Lesstep
GitHub Actions・Ubuntu 26.04・2026年11月4日に確認

setup-ruby の「Unavailable version 3.4.2 for ruby on ubuntu-26.04」

ubuntu-latest は、2026年10月19日から11月19日にかけて Ubuntu 24.04 から 26.04 に移ります(ほかに変わること)。ruby/setup-ruby は、ruby/ruby-builder から組み立て済みの Ruby を落とします。ビルドは Ruby の版とランナーのイメージの組ごとに1つです。新しいイメージ向けには、その時点の各系列の最新のパッチリリースと、そのあとに出たリリースだけを作ります(setup-ruby #943)。そのため、24.04 では入る 3.4.2 のような版には 26.04 向けのビルドが無く、ジョブは Ruby のステップで止まります。

出る文

10月19日からは、ruby/setup-ruby@v1 が代わりに使う版を示します(setup-ruby #949):

Unavailable version 3.4.2 for ruby on ubuntu-26.04
          Only the latest patch release of each series is built for newer runner images.
          ruby-3.4.11 is available on ubuntu-26.04: use ruby-version: '3.4.11', or '3.4' to always use the latest 3.4.x release.

それより前の実行では、1行目と「You can request it at https://github.com/ruby/setup-ruby/issues」だけが出ます。版はワークフローの ruby-version: か、ruby-version を書いていないときに setup-ruby が読む .ruby-version から来ます(ログに「Using 3.4.2 as input from file .ruby-version」と出ます)。

ubuntu-26.04 向けに作られている版

2026年11月4日に、setup-ruby と同じダウンロードで ruby-builder の x64 のビルドを1つずつ確かめました:

系列ubuntu-26.04 向けのビルド
4.04.0.5〜4.0.9
3.43.4.9〜3.4.12
3.33.3.11〜3.3.13
3.23.2.11
3.1 以前3.1.7・3.0.7・2.7.8・2.6.10・2.5.9・2.4.10

これより前のパッチは作られていません。たとえば 4.0.4・3.4.8・3.3.10・3.2.10・3.1.4・2.7.7 です。Ruby 3.1 以前は、10月31日まで 26.04 向けのビルドが1つもありませんでした。GCC 15 で組み立てられず、ruby-builder がそのためのフラグを足しました(setup-ruby #954)。setup-ruby の README はまだ「26.04 には 3.2 以降だけ」と書いていますが、表のビルドはあります。10月末に Ruby 2.7〜3.1 のジョブを ubuntu-24.04 に移したプロジェクト(rack #2545・rubocop #16210 など)は、そのままでも、最後のパッチで戻ってきてもかまいません。

直し方1:系列か、作られているパッチを書く

- uses: ruby/setup-ruby@v1
  with:
    ruby-version: '3.4'
    bundler-cache: true

'3.4' は、そのイメージ向けに作られている最新の 3.4.x を取ります。引用符は外しません。引用符が無いと、3.0 は 3 としてアクションに届きます(setup-ruby の README が actions/runner #849 を挙げています)。版が .ruby-version にあるなら、ファイルを 3.4.12 のような作られているパッチに変えるか、ステップに ruby-version を書きます。書くとファイルより優先されます。テンプレートから作った Jekyll のサイトは、そこに古いパッチを持っていることが多く、al-folio #3706 はその報告の1つです。

Gemfile がパッチまで固定している(たとえば ruby "3.4.2")と、そのあと Bundler が「Your Ruby version is 3.4.12, but your Gemfile specified 3.4.2」で止まります。ほかの固定と一緒に変えるか、ruby "~> 3.4.0" にゆるめます。

直し方2:その Ruby は 24.04 に残す

パッチまで同じであることが大事なら、その組だけを古いイメージで動かします。そちらには古いビルドがまだあります:

strategy:
  matrix:
    include:
      - ruby: '3.4'
        os: ubuntu-latest
      - ruby: '3.3.6'
        os: ubuntu-24.04
runs-on: ${{ matrix.os }}

GitHub が 24.04 のイメージを終えるまでは使えます。26.04 の Python にも同じ形があります:setup-python の「was not found」。

見分け方

ほかの 26.04 の失敗

失敗したジョブを IntelliJ IDEA から見るなら

Pipeline Inbox for GitHub Actions Workflows は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。すべてのリポジトリの実行を、ジョブ・ステップと一緒に IDE のツールウィンドウに並べ、いまのブランチの実行はステータスバーに出ます。読むのは無料、失敗したジョブの再実行・キャンセル・ワークフローの実行・デプロイのレビューは Pro(月 US$1.50・30日の無料試用つき)です。

JetBrains Marketplace で入れる

GitHub と GitHub Actions は GitHub, Inc. の商標、Ubuntu は Canonical Ltd. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・Canonical・Ruby の各プロジェクト・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:「The ubuntu-latest label will migrate to Ubuntu 26」 · setup-python の「was not found」 · Ubuntu 26.04 の「cannot open shared object file」 · IntelliJ IDEA で使える GitHub Actions のプラグインの比較 · English