From 1b43364225ffe5f8cd3e0cd9c18918023ca83025 Mon Sep 17 00:00:00 2001 From: Julien Danjou Date: Mon, 28 Sep 2026 18:59:32 +0200 Subject: [PATCH] ci: run the GitHub-hosted jobs on Ubuntu 26.04 Pins every hosted Linux job in ci.yaml to `ubuntu-26.04` instead of `ubuntu-24.04` / `ubuntu-latest`, and the arm leg of the test-install matrix to `ubuntu-26.04-arm`. That's linters, autodoc, all-greens (latest), and the two Linux test-install legs. The two macOS legs are unchanged. Nothing is left behind. `ubuntu-latest` moves to 26.04 on GitHub's schedule (between 2026-10-19 and 2026-11-19), so all-greens gets an explicit pin like the other jobs. None of the 26.04 image changes reach these jobs. linters runs actionlint, yamllint and semgrep from their own images. autodoc is bash and awk. The action itself is curl plus mergify-cli's install.sh, and the Linux release binaries are built in a manylinux container, so their glibc floor is far below 26.04's. actionlint 1.7.12 doesn't know the 26.04 labels yet and rejects every job with "label is unknown", so `.github/actionlint.yaml` lists them. The `self-hosted-runner` key name is misleading: these are GitHub-hosted labels. Drop the file once actionlint ships them. All five jobs run on pull_request, so green CI here is the proof, including the action's install path on both 26.04 architectures. MRGFY-9723 Co-Authored-By: Claude Opus 5.5 Change-Id: I9d9ba41841f0d8cb859da3203a032097f91ad3ba --- .github/actionlint.yaml | 8 ++++++++ .github/workflows/ci.yaml | 10 +++++----- 2 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 .github/actionlint.yaml diff --git a/.github/actionlint.yaml b/.github/actionlint.yaml new file mode 100644 index 0000000..1731e3e --- /dev/null +++ b/.github/actionlint.yaml @@ -0,0 +1,8 @@ +self-hosted-runner: + # Despite the key name, these are GitHub-hosted labels: no actionlint + # release (up to 1.7.12) knows ubuntu-26.04 yet, so without this entry the + # linters job rejects every job with "label is unknown". Drop it once + # actionlint ships the labels. + labels: + - ubuntu-26.04 + - ubuntu-26.04-arm diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index aca2b51..6bed78b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -15,7 +15,7 @@ concurrency: jobs: linters: timeout-minutes: 5 - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 steps: - name: Checkout 🛎️ uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 @@ -45,7 +45,7 @@ jobs: autodoc: timeout-minutes: 5 - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 steps: - name: Checkout uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 @@ -69,8 +69,8 @@ jobs: fail-fast: false matrix: os: - - ubuntu-24.04 # x86_64-unknown-linux-gnu - - ubuntu-24.04-arm # aarch64-unknown-linux-gnu + - ubuntu-26.04 # x86_64-unknown-linux-gnu + - ubuntu-26.04-arm # aarch64-unknown-linux-gnu - macos-15-intel # x86_64-apple-darwin - macos-15 # aarch64-apple-darwin runs-on: ${{ matrix.os }} @@ -122,7 +122,7 @@ jobs: - linters - autodoc - test-install - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 steps: - name: Verify all jobs succeeded uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # release/v1