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.0 | 4.0.5〜4.0.9 |
| 3.4 | 3.4.9〜3.4.12 |
| 3.3 | 3.3.11〜3.3.13 |
| 3.2 | 3.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」。
見分け方
- ジョブが
bundle installより前の setup-ruby のステップで、「Unavailable version」とイメージの名前を出して失敗します。 - 「Set up job」の Runner Image の欄が
ubuntu-26.04かubuntu-24.04かを見ます。11月19日までは、再実行が 24.04 に当たって通ることがあるので、再実行が緑でも何も確かめたことになりません。 - Ruby は入り、そのあと gem が「cannot open shared object file」で読み込めないなら、24.04 のキャッシュのほうが疑わしいです:Ubuntu 26.04 の「cannot open shared object file」。
ほかの 26.04 の失敗
- Ubuntu 26.04 の setup-beam の「not found in version list」:26.04 向けの Erlang/OTP のビルドの一覧は OTP 26.0 からなので、OTP 24 と 25 はセットアップで止まり、v1.24.1 より古い setup-beam はどの OTP でも落ちます。
- Ubuntu 26.04 の GCC 15 で通らなくなった C と C++ のビルド:既定の gcc が 13 から 15 に上がるので、C は C23 としてコンパイルされ、古い警告の6つがエラーになり、C++ のヘッダーは
<cstdint>を読み込んでくれなくなります。 - Ubuntu 26.04 の「cannot open shared object file」:libxml2 は
libxml2.so.16、ICU は 78 なので、24.04 で保存したキャッシュや 24.04 向けのバイナリがlibxml2.so.2やlibicudata.so.74を見つけられません。 - Ubuntu 26.04 の apt:名前が変わった・無くなったパッケージ。
- Ubuntu 26.04 の Playwright:Playwright 1.50〜1.60 は「does not support chromium on ubuntu26.04-x64」と出します。
- Ubuntu 26.04 の「client version ... is too old」:Docker 29 は API 1.40 より古いクライアントを断るので、古い Testcontainers は「Could not find a valid Docker environment」で落ちます。
- 「coreutils: unknown program」:基本のコマンドのほとんどが uutils です。
失敗したジョブを IntelliJ IDEA から見るなら
Pipeline Inbox for GitHub Actions Workflows は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。すべてのリポジトリの実行を、ジョブ・ステップと一緒に IDE のツールウィンドウに並べ、いまのブランチの実行はステータスバーに出ます。読むのは無料、失敗したジョブの再実行・キャンセル・ワークフローの実行・デプロイのレビューは Pro(月 US$1.50・30日の無料試用つき)です。
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