Skip to content

ci: update dependency ubuntu to v26 - #110

Merged
owine merged 4 commits into
mainfrom
renovate/ubuntu-26.x
Sep 19, 2026
Merged

owine merged 4 commits into
mainfrom
renovate/ubuntu-26.x

Conversation

@renovate

@renovate renovate Bot commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change OpenSSF
ubuntu github-runner major 24.04 → 26.04 OpenSSF Scorecard

Configuration

📅 Schedule: (in timezone America/Chicago)

  • Branch creation
    • "on monday"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Update ubuntu from 24.04 to 26.04
Renovate's runner-image bump updates literal `runs-on:` values only; it
does not traverse strategy.matrix.include[], so the two `runner:` labels
feeding the native per-arch build job were left on ubuntu-24.04
(confirmed in doc-scanner #209). Left alone this ships a split-brain
build that stays green, since both images work and nothing flags the
mismatch.

Bump both legs to ubuntu-26.04 / ubuntu-26.04-arm and extend the
existing native-runner comment to record that these labels are invisible
to Renovate and must be updated by hand alongside its PRs.
@renovate

renovate Bot commented Sep 19, 2026

Copy link
Copy Markdown
Contributor Author

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

The built-in github-actions manager extracts runner labels from literal
`runs-on:` values only and does not traverse strategy.matrix.include[]
(confirmed in doc-scanner #209), so the native per-arch build legs were
unmanaged -- the previous commit had to bump them by hand.

Add a customManager keyed on the `runner:` lines. It captures only the
numeric version, so the arm64 leg's `-arm` suffix falls outside the match
and survives the replace; that is also why a single matchString covers
both legs. depName `ubuntu` and docker versioning match what the built-in
manager emits, so these deps group into the same branch and PR as the
`runs-on:` ones instead of opening a second.

Rewrite the load-bearing native-runner comment to point at the manager
rather than instruct a hand-edit, and to record that the
`runner: ubuntu-<major>.<minor>` shape is what the manager matches on.

Validated with renovate-config-validator (renovate@41).
actionlint validates runner labels against a list baked into its binary.
Ubuntu 26.04 went GA 2026-09-17, after the latest actionlint release
(v1.7.12, 2026-03-30), so it rejected all 13 labels as unknown. Declare
them via .github/actionlint.yaml, the escape hatch actionlint's own error
message points to. This is the first fleet repo to hit it: the other
migrated repos do not run actionlint.

Unlike the Renovate side, this cannot live in shared config -- actionlint
discovers its config by path (.github/actionlint.yaml).

Also drop the local `ubuntu` customManager added in the previous commit;
that belongs in the shared preset (owine/renovate-config), so the matrix
comment now points there instead.

Note actionlint DOES expand strategy.matrix.include[] -- it flagged 8
labels in build.yml, the 6 `runs-on:` values plus both matrix legs. It
catches precisely the gap Renovate's extractor misses.
@owine
owine merged commit 971ecda into main Sep 19, 2026
14 checks passed
@owine
owine deleted the renovate/ubuntu-26.x branch September 19, 2026 14:35
owine added a commit that referenced this pull request Sep 19, 2026
The comment merged in #110 told readers to keep a
`runner: ubuntu-<major>.<minor>` shape, which describes neither the arm
leg nor what the shared preset's manager actually tracks.

owine/renovate-config 24ad0fd landed the `github-runners` customManager,
and its capture takes the whole remainder after the OS name, suffix
included. That is correct: the datasource's ubuntu release list carries
`26.04` and `26.04-arm` as separate version strings (likewise macos
`15-large`/`15-intel`, windows `11-arm`), so `26.04-arm` is its own
version, not `26.04` with decoration. Treating the suffix as cosmetic
would file the arm leg under the x64 version stream and could propose an
arm label that does not exist, since arm images can lag x64.

Restate the invariant accordingly and point at the preset commit.
Comment-only; no behaviour change.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant