chore(deps): move the train and the consumer smokes onto one set of versions - #575
Merged
Merged
Conversation
…ersions Dependabot opened nine pull requests on the release push. Eight of them were the same bump — junit-jupiter 5 to 6 in each consumer-smoke project, one per manifest because the group covers minor and patch and this is a major — and the ninth carried the rest. Taken together they are one change, and one of them was already stale by the time it opened. The train moves to junit-bom 6.1.3, logback-classic 1.6.2 and the 3.9.16 Maven wrapper. The consumer projects move to junit-jupiter 6.1.3, surefire 3.5.6 and, in s2, enforcer 3.6.3 — off a JUnit line the rest of the repository left two majors ago. Their <gc.version> moves to 2.2.0 rather than the 2.1.1 that was offered. That property is the version each project verifies when the runner names none, and it sat on 2.0.0: the release step moves the same default in run.sh, run.ps1, the workflow and the README, and never reached the poms. Every runner does pass a version, so the fallback decided nothing on a normal run, which is how it stayed two releases behind without a single run going red. So the release step finds the consumer projects instead of listing them — they arrive one per published coordinate combination, and a list would be a second place to remember that — and a guard reads all eleven places the default is written down and holds them to the published release, the rule the install snippets already follow. mvnw.cmd is left alone. The offered change rewrote the whole file for its line endings; what the wrapper upgrade needs is the distributionUrl.
This was referenced Aug 15, 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.
Replaces #565, #566, #567, #568, #569, #570, #571, #572 and #573.
Why
The release push made Dependabot rescan, and it opened nine pull requests. Eight are the
same bump —
junit-jupiter5.11.4 → 6.1.3 in each consumer-smoke project, one per manifestbecause the group covers minor and patch and this is a major. The ninth carries everything
else. Taken together they are one change.
One of them was already stale when it opened. It proposed
<gc.version>2.0.0 → 2.1.1in the consumer poms, and 2.2.0 has been on Central since the cut.
What changed
The train —
junit-bom6.1.2 → 6.1.3 andlogback-classic1.6.1 → 1.6.2 wherever theyare pinned (core, qa, templates, testing, render-pdf/docx/pptx, examples, benchmarks), and
the Maven wrapper to 3.9.16.
The consumer projects —
junit-jupiter5.11.4 → 6.1.3,surefire3.5.2 → 3.5.6, andenforcer3.5.0 → 3.6.3 in s2. They were two majors behind the JUnit the rest of therepository runs.
Their
<gc.version>→ 2.2.0, not 2.1.1. That property is the version each projectverifies when the runner names none. The release step moves the same default in
run.sh,run.ps1, the workflow input and the README — and never reached the poms. Every runner doespass a version, so the fallback decides nothing on a normal run, which is how it stayed two
releases behind without a single run going red.
So the release step finds the consumer projects rather than listing them. They arrive one
per published coordinate combination, so the set grows when a coordinate does, and a list in
the script would be a second place to remember that.
And a guard holds the default in one place.
VersionConsistencyGuardTestnow reads alleleven — the two runners, the workflow input, and each pom's
<gc.version>— and holds themto
acceptableTargets(), the published-release rule the install snippets already follow.mvnw.cmdis left alone: the offered change rewrote the whole file for its line endings,while what the wrapper upgrade needs is the
distributionUrl.Tests
The consumer harness, which is what a JUnit major actually risks —
bash scripts/release-smoke/run.sh→ 8 of 8 BUILD SUCCESS, exit 0. Each project buildsin an isolated local repository with the cache evicted, so the coordinates were resolved from
Central rather than from anything this machine had lying around.
./mvnw -B -ntp clean verify→ BUILD SUCCESS, no failures.The new guard was driven from the files in three broken states, each red, and green on
the tree as it stands: one pom left on the previous release, a runner naming a version nobody
published, and a pom that stops declaring the property at all — that last one names the file
rather than silently skipping it.
The release step's discovery was dry-run against a copy of the tree: it finds all eight
consumer poms and moves each fallback with the release.