@ 261102.1

261101.5 · 2ec4c2cdb17d57b99df704c07f11c264b5ddd4f1

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.

reading declarations

Changes to .github/. All files

.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

.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

.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

.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