Skip to content

Add support for ubuntu-26.04 runner - #683

Open
ericcornelissen wants to merge 1 commit into
rhysd:mainfrom
ericcornelissen:ubuntu-26-04
Open

ericcornelissen wants to merge 1 commit into
rhysd:mainfrom
ericcornelissen:ubuntu-26-04

Conversation

@ericcornelissen

Copy link
Copy Markdown
Contributor

Closes #682

vszakats added a commit to curl/curl that referenced this pull request Jun 18, 2026
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
vszakats added a commit to libssh2/libssh2 that referenced this pull request Jun 19, 2026
muhammad23012009 pushed a commit to muhammad23012009/mir that referenced this pull request Aug 12, 2026
…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
kjanat added a commit to kjanat/actionlint that referenced this pull request Aug 18, 2026
Integrate runner support from rhysd#683 and
rhysd#710, then add Xcode 27 labels with compatibility
checks and macOS shell validation.

Co-authored-by: Eric Cornelissen <ericornelissen@gmail.com>
Co-authored-by: William Oliveira <306402451+TheAlphaEngineerCode@users.noreply.github.com>

@epiccurious epiccurious left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK 60be201, looks good

@jkroepke

Copy link
Copy Markdown

Maybe fix the CI?

wollefitz added a commit to camunda/infra-global-github-actions that referenced this pull request Sep 21, 2026
## 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.
@case

case commented Sep 26, 2026

Copy link
Copy Markdown

Fwiw, GitHub emailed earlier today:

ubuntu-latest migration begins October 19

The "ubuntu-latest" label in GitHub Actions will be migrated to the Ubuntu 26 runner image.

This change will be rolled out over a period of several weeks beginning October 19, 2026 and will complete by November 19, 2026.

@mxr

mxr commented Sep 27, 2026

Copy link
Copy Markdown

I pulled in this fix + the CI fixes in #743, and tested them on my fork. @rhysd hope you can look. Thanks!

@jkroepke

Copy link
Copy Markdown

I hope, this will be configurable.. just in case.. the next github runner update just can unblock my local config override

@ericcornelissen

Copy link
Copy Markdown
Contributor Author

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 ignore option (example in practice):

paths:
  .github/workflows/*.{yml,yaml}:
    ignore:
      - label "ubuntu-26.04" is unknown

@technoir42

Copy link
Copy Markdown

I hope, this will be configurable.. just in case.. the next github runner update just can unblock my local config override

@jkroepke it is, just create .github/actionlint.yaml with:

self-hosted-runner:
  labels:
    - ubuntu-26.04

tmatens added a commit to tmatens/compose-lint that referenced this pull request Sep 28, 2026
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>
Kerruba pushed a commit to camunda/infra-global-github-actions that referenced this pull request Oct 2, 2026
## 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.
setchy added a commit to gitify-app/gitify that referenced this pull request Oct 4, 2026
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.
marcel290820 added a commit to marcel290820/runlink that referenced this pull request Oct 6, 2026
- 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>
marcel290820 added a commit to marcel290820/runlink that referenced this pull request Oct 6, 2026
- 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.
marcel290820 added a commit to marcel290820/runlink that referenced this pull request Oct 10, 2026
- 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.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for ubuntu-26.04

7 participants