From 2ec4c2cdb17d57b99df704c07f11c264b5ddd4f1 Mon Sep 17 00:00:00 2001 From: itchyny Date: Sun, 1 Nov 2026 20:34:20 +0900 Subject: [PATCH] Switch Linux runners to Ubuntu 26.04 except for MIPS (#3703) The i386 build ran on ubuntu-22.04, which is retired on April 17, 2027, and ubuntu-24.04 lacks fmod and exp10 in the static i386 libm. Build on ubuntu-26.04 for every architecture except MIPS, whose cross toolchains Ubuntu 26.04 no longer ships, and move the decnum, oniguruma and valgrind workflows too. Most release binaries are now built with GCC 15 and glibc 2.43, and they remain statically linked. --- .github/workflows/ci.yml | 8 ++++++-- .github/workflows/decnum.yml | 2 +- .github/workflows/oniguruma.yml | 4 ++-- .github/workflows/valgrind.yml | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b6e3d98e..ea304fe2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,6 +37,8 @@ jobs: CC: aarch64-linux-gnu - arch: armel CC: arm-linux-gnueabi + # Ubuntu 26.04 has no crossbuild-essential-armel + packages: gcc-arm-linux-gnueabi libc6-dev-armel-cross - arch: armhf CC: arm-linux-gnueabihf - arch: i386 @@ -65,7 +67,8 @@ jobs: CC: riscv64-linux-gnu - arch: s390x CC: s390x-linux-gnu - runs-on: ${{ matrix.arch == 'i386' && 'ubuntu-22.04' || 'ubuntu-24.04' }} + # Ubuntu 26.04 no longer ships the MIPS cross toolchains. + runs-on: ${{ startsWith(matrix.arch, 'mips') && 'ubuntu-24.04' || 'ubuntu-26.04' }} env: AR: ${{ matrix.CC }}-ar CHOST: ${{ matrix.CC }} @@ -81,7 +84,8 @@ jobs: - name: Install packages run: | sudo apt-get update - sudo apt-get install -y automake autoconf libtool crossbuild-essential-${{ matrix.arch }} + sudo apt-get install -y automake autoconf libtool \ + ${{ matrix.packages || format('crossbuild-essential-{0}', matrix.arch) }} - name: Build run: | autoreconf -i diff --git a/.github/workflows/decnum.yml b/.github/workflows/decnum.yml index 4f7af7a0..364f1413 100644 --- a/.github/workflows/decnum.yml +++ b/.github/workflows/decnum.yml @@ -7,7 +7,7 @@ on: jobs: disabled: - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 steps: - name: Clone repository uses: actions/checkout@v7 diff --git a/.github/workflows/oniguruma.yml b/.github/workflows/oniguruma.yml index 47ed62c5..c46b50bd 100644 --- a/.github/workflows/oniguruma.yml +++ b/.github/workflows/oniguruma.yml @@ -9,7 +9,7 @@ on: # we test other options for --with-oniguruma here. jobs: installed: - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 steps: - name: Clone repository uses: actions/checkout@v7 @@ -42,7 +42,7 @@ jobs: tests/*.log disabled: - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 steps: - name: Clone repository uses: actions/checkout@v7 diff --git a/.github/workflows/valgrind.yml b/.github/workflows/valgrind.yml index 0d068ce3..42e50d3b 100644 --- a/.github/workflows/valgrind.yml +++ b/.github/workflows/valgrind.yml @@ -7,7 +7,7 @@ on: jobs: linux: - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 steps: - name: Clone repository uses: actions/checkout@v7