Repository navigation
Add support for ubuntu-26.04 runner - #683
ericcornelissen wants to merge 1 commit into
Conversation
On Linux, and Windows cross-builds. clang-tidy jobs look significantly faster. Other jobs remain around the same (this feels nice after seeing the significant slowdowns in Windows-2025, FreeBSD 15.) Before: https://github.com/curl/curl/actions/runs/27770630688 After: https://github.com/curl/curl/actions/runs/27770913426?pr=22086 gcc-analyzer also got faster: Before: https://github.com/curl/curl/actions/runs/27758865007/job/82127670883 After: https://github.com/curl/curl/actions/runs/27768696084/job/82162385765 Also: - work around actionlint 1.7.12 not yet being aware of ubuntu-26.04: ``` windows.yml:770:14: label "ubuntu-26.04" is unknown. available labels are [...] ``` Ref: https://github.com/curl/curl/actions/runs/27769065782/job/82163700294#step:6:13 Ref: rhysd/actionlint#682 Ref: rhysd/actionlint#683 Follow-up to 5a2af80 #22084 Closes #22086
Ref: rhysd/actionlint#682 Ref: rhysd/actionlint#683 Cherry-picked from #2078
…plaining (canonical#5102) This is a slightly cleaner version of canonical#5099. The underlying problem is that [actionlint v1.7.12](https://github.com/rhysd/actionlint) includes a hard coded list of runner images it believes that Github provides, and ubuntu-26.04 is not on that list. Ideally we could move to a newer version in our pre-commit configuration, but no newer versions have been released (there is rhysd/actionlint#683 open to add it though). We can augment the list of runner images actionlint will treat as valid through it's configuration file though, so that's what this PR does. This has the benefit that we'll be linting the `spread.yml` and `symbols-check.yml` workflows again, and no change will be necessary if we start using ubuntu-26.04 in other workflows. Closes canonical#5097 ## How to test Check if the PreCommit actions workflow succeeds. ## Checklist - [ ] Tests added and pass - [ ] Adequate documentation added - [ ] (optional) Added Screenshots or videos
|
Maybe fix the CI? |
## Summary - `actionlint` doesn't yet recognize the `ubuntu-26.04` GitHub-hosted runner image — [rhysd/actionlint#683](rhysd/actionlint#683) adds support but hasn't shipped in a release yet, so workflows using `runs-on: ubuntu-26.04` fail lint with an "unknown runner" error.
|
Fwiw, GitHub emailed earlier today:
|
|
I hope, this will be configurable.. just in case.. the next github runner update just can unblock my local config override |
It's not pretty, but you can already configure this using the paths:
.github/workflows/*.{yml,yaml}:
ignore:
- label "ubuntu-26.04" is unknown |
@jkroepke it is, just create |
actionlint hard-codes GitHub's hosted runner labels and only learns a new one in a release. 1.7.12 is the latest and predates ubuntu-26.04, so Renovate's runner bump (#932) fails the actionlint job with 62 [runner-label] errors while every job it touches runs fine on the new image. The upstream fix (rhysd/actionlint#683) has waited since June for a maintainer who has not committed since April. A per-label allowlist would recur on every new label and never get pruned, so this ignores the check outright, in ci.yml and in the preflight mirror of it. The cost is the typo check on runs-on:, which GitHub surfaces anyway as a job that never gets a runner. Expression, shellcheck and every other actionlint check are unaffected. Signed-off-by: Todd <tmatens@gmail.com>
## Summary - `actionlint` doesn't yet recognize the `ubuntu-26.04` GitHub-hosted runner image — [rhysd/actionlint#683](rhysd/actionlint#683) adds support but hasn't shipped in a release yet, so workflows using `runs-on: ubuntu-26.04` fail lint with an "unknown runner" error.
actionlint 1.7.12 does not recognize the ubuntu-26.04-arm GitHub-hosted runner label yet (upstream: rhysd/actionlint#683). Declare it in actionlint's config so the Lint GitHub Actions check passes for the renovate runner bump (#3338). Remove once actionlint ships built-in support for the label.
- Move the Linux baseline to Ubuntu 26.04 LTS: Hetzner image, CI runner, bootstrap library lock and the coturn pin (4.6.1-2build2). - Add libxres1 (now required by libatspi2.0-0t64) and libxtables12 (required by libnftables1, previously taken from the host) to the lock so bootstrap no longer relies on host packages for them. - Move the macOS CI runner to macos-26. - Pin actions/checkout to the v7.0.1 release instead of an untagged commit. - Declare the ubuntu-26.04 label for actionlint 1.7.12, which predates it (rhysd/actionlint#683); remove once a release knows the label. Node stays on 24 LTS until 26 enters LTS. The hcloud provider stays at 1.69.0 until 1.70.0 reaches the OpenTofu registry. Verified: scripts/check.sh passed from empty caches in an ubuntu:26.04 container, including cloud-init schema and systemd unit validation. The hosted macOS 26 and Ubuntu 26.04 runs remain to be proven by CI. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Move the Linux baseline to Ubuntu 26.04 LTS: Hetzner image, CI runner, bootstrap library lock and the coturn pin (4.6.1-2build2). - Add libxres1 (now required by libatspi2.0-0t64) and libxtables12 (required by libnftables1, previously taken from the host) to the lock so bootstrap no longer relies on host packages for them. - Move the macOS CI runner to macos-26. - Pin actions/checkout to the v7.0.1 release instead of an untagged commit. - Declare the ubuntu-26.04 label for actionlint 1.7.12, which predates it (rhysd/actionlint#683); remove once a release knows the label. Node stays on 24 LTS until 26 enters LTS. The hcloud provider stays at 1.69.0 until 1.70.0 reaches the OpenTofu registry. Verified: scripts/check.sh passed from empty caches in an ubuntu:26.04 container, including cloud-init schema and systemd unit validation. The hosted macOS 26 and Ubuntu 26.04 runs remain to be proven by CI.
- Move the Linux baseline to Ubuntu 26.04 LTS: Hetzner image, CI runner, bootstrap library lock and the coturn pin (4.6.1-2build2). - Add libxres1 (now required by libatspi2.0-0t64) and libxtables12 (required by libnftables1, previously taken from the host) to the lock so bootstrap no longer relies on host packages for them. - Move the macOS CI runner to macos-26. - Pin actions/checkout to the v7.0.1 release instead of an untagged commit. - Declare the ubuntu-26.04 label for actionlint 1.7.12, which predates it (rhysd/actionlint#683); remove once a release knows the label. Node stays on 24 LTS until 26 enters LTS. The hcloud provider stays at 1.69.0 until 1.70.0 reaches the OpenTofu registry. Verified: scripts/check.sh passed from empty caches in an ubuntu:26.04 container, including cloud-init schema and systemd unit validation. The hosted macOS 26 and Ubuntu 26.04 runs remain to be proven by CI.
Closes #682