Repository navigation
feat(ci-cd)!: default runs-on to the GitHub-hosted runner - #114
Merged
Merged
Conversation
The 'runs-on' input defaulted to an empty string, which each job resolved to the self-hosted pool ["self-hosted", "dsb-builder", "linux", "x64"] via a fromJSON fallback. That pool is being decommissioned, so the fallback is about to point at a runner group with no runners: a caller that omits the input would queue indefinitely instead of failing, with nothing in the run to explain why. Every caller in the org set the input explicitly during the migration (72/72 as of 2026-10-05), so flipping the default changes no existing pipeline. It does change what a *new* repo gets when it omits the line, which is the point. Remove the fromJSON fallback from all nine job-level expressions rather than re-point it, so the dead pool is not referenced anywhere. Per-app overrides via an 'apps' entry are unaffected and still win over the global input. BREAKING CHANGE: callers that relied on the empty default to reach the self-hosted pool must now pass runs-on explicitly. No such caller exists in dsb-norge; external consumers of this public repo could never have used the old default, since the pool was DSB-internal. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Keeps the AI-assistant context in step with the runs-on default flip. Separate commit because this is assistant configuration, not part of the functional change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Laffs2k5
marked this pull request as ready for review
October 5, 2026 10:19
Laffs2k5
enabled auto-merge (rebase)
October 5, 2026 10:19
baltom
approved these changes
Oct 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes the last loose end from the self-hosted runner migration: the
runs-oninput still fell back to the pool that is about to be torn down.Problem
All three reusable workflows declared
runs-onwithdefault: "", and each job resolved it as:Once the
dsb-builderVMSS is scaled to 0 and deleted, that fallback points at a runner group with no runners. A caller that omits the input would queue indefinitely rather than fail — with nothing in the run output to explain why.Change
default: ""→default: "builder-app-platform-ghr-ubuntu-large"inci-cd-default.yml,ci-cd-build-deploy-maven-lib.ymlandmaven-artifacts-pruner.yml.fromJSON([...])fallback is removed from all nine job-level expressions rather than re-pointed, so the dead pool is not referenced anywhere in the workflows.matrix.app-vars.runs-on) are untouched and still win over the global input.# ... else the self-hosted defaultcomments updated to match.Blast radius: none today
Every caller in the org passes
runs-onexplicitly — 72/72 caller workflow files across 69 active repos, verified 2026-10-05 by fetching every.github/workflows/file indsb-norgeand checking the input. So no existing pipeline changes behaviour. What changes is what a new repo gets when it omits the line, which is the point of the change.This is the Phase 6 default flip described in
github-hosted-runners-implementation-plan.md.Breaking change
Marked
!because a caller relying on the empty default to reach the self-hosted pool must now passruns-onexplicitly. No such caller exists indsb-norge, and external consumers of this public repo could never have used the old default — the pool was DSB-internal.Release
Releases here are git tags. After merge this needs a new
v4.21tag and the movingv4tag advanced, otherwise callers on@v4won't pick it up.Review notes
runs-ononly resolves at call time.grep -rn "dsb-builder" .github/workflows/should return only the three explanatory comments.🤖 Generated with Claude Code