From 63fbc963566b08dd74c7adb952f8c1d2283b7d7d Mon Sep 17 00:00:00 2001 From: Vince Broz Date: Tue, 20 Oct 2026 03:11:01 -0400 Subject: [PATCH 1/2] Pin CI runners to ubuntu-24.04 ubuntu-latest now resolves to ubuntu-26.04, for which setup-ruby has no Ruby 2.6-3.1 builds ("Unavailable version 3.0.7 for ruby on ubuntu-26.04"), so those matrix entries fail before running specs. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01Wo4FerFK9aaxrGrmVE9ncZ --- .github/workflows/lint.yml | 2 +- .github/workflows/release-gem.yml | 2 +- .github/workflows/tests.yml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 8cf8b4a0..9c27a07a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -8,7 +8,7 @@ on: jobs: overcommit: timeout-minutes: 10 - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/release-gem.yml b/.github/workflows/release-gem.yml index fee439eb..3cc8d1a4 100644 --- a/.github/workflows/release-gem.yml +++ b/.github/workflows/release-gem.yml @@ -7,7 +7,7 @@ on: jobs: release: timeout-minutes: 10 - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 environment: release permissions: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6688cd90..17b1db5d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -8,7 +8,7 @@ on: jobs: rspec: timeout-minutes: 15 - runs-on: ${{ matrix.os }}-latest + runs-on: ${{ matrix.os }}-24.04 strategy: fail-fast: false @@ -53,7 +53,7 @@ jobs: finish: needs: rspec - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - name: Finalize code coverage report From 11f62b50334384222d1da45ce97c8fe1f5995341 Mon Sep 17 00:00:00 2001 From: Vince Broz Date: Wed, 21 Oct 2026 08:24:49 -0400 Subject: [PATCH 2/2] Run CI on ubuntu-26.04, old Rubies on 24.04 Name ubuntu-26.04 explicitly so runners do not move when ubuntu-latest does. setup-ruby has no Ruby 2.6-3.1 builds for ubuntu-26.04, so a matrix include keeps those rows on ubuntu-24.04. Non-ubuntu rows still use -latest. The explicit job name keeps check names as "rspec (, )", which upstream requires. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01Wo4FerFK9aaxrGrmVE9ncZ --- .github/workflows/lint.yml | 2 +- .github/workflows/release-gem.yml | 2 +- .github/workflows/tests.yml | 13 +++++++++++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 9c27a07a..c53b7193 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -8,7 +8,7 @@ on: jobs: overcommit: timeout-minutes: 10 - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/release-gem.yml b/.github/workflows/release-gem.yml index 3cc8d1a4..cfdfa678 100644 --- a/.github/workflows/release-gem.yml +++ b/.github/workflows/release-gem.yml @@ -7,7 +7,7 @@ on: jobs: release: timeout-minutes: 10 - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 environment: release permissions: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 17b1db5d..734abca0 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,8 +7,9 @@ on: jobs: rspec: + name: rspec (${{ matrix.ruby-version }}, ${{ matrix.os }}) timeout-minutes: 15 - runs-on: ${{ matrix.os }}-24.04 + runs-on: ${{ matrix.runner || format('{0}-latest', matrix.os) }} strategy: fail-fast: false @@ -28,6 +29,14 @@ jobs: # Any contributor is welcome to fix them and enable the Windows build. # Please see Issue #836 for more details. # - windows + include: + - os: ubuntu + runner: ubuntu-26.04 + # setup-ruby has no builds of these Rubies for ubuntu-26.04 + - { ruby-version: "2.6", os: ubuntu, runner: ubuntu-24.04 } + - { ruby-version: "2.7", os: ubuntu, runner: ubuntu-24.04 } + - { ruby-version: "3.0", os: ubuntu, runner: ubuntu-24.04 } + - { ruby-version: "3.1", os: ubuntu, runner: ubuntu-24.04 } steps: - uses: actions/checkout@v4 @@ -53,7 +62,7 @@ jobs: finish: needs: rspec - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 steps: - name: Finalize code coverage report