Skip to content

chore(deps): move the train and the consumer smokes onto one set of versions - #575

Merged
DemchaAV merged 1 commit into
developfrom
chore/dependency-refresh-2026-08
Aug 16, 2026
Merged

chore(deps): move the train and the consumer smokes onto one set of versions#575
DemchaAV merged 1 commit into
developfrom
chore/dependency-refresh-2026-08

Conversation

@DemchaAV

Copy link
Copy Markdown
Owner

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-jupiter 5.11.4 → 6.1.3 in each consumer-smoke project, one per manifest
because 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.1
in the consumer poms, and 2.2.0 has been on Central since the cut.

What changed

The trainjunit-bom 6.1.2 → 6.1.3 and logback-classic 1.6.1 → 1.6.2 wherever they
are pinned (core, qa, templates, testing, render-pdf/docx/pptx, examples, benchmarks), and
the Maven wrapper to 3.9.16.

The consumer projectsjunit-jupiter 5.11.4 → 6.1.3, surefire 3.5.2 → 3.5.6, and
enforcer 3.5.0 → 3.6.3 in s2. They were two majors behind the JUnit the rest of the
repository runs.

Their <gc.version> → 2.2.0, not 2.1.1. That property is the version each project
verifies 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 does
pass 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. VersionConsistencyGuardTest now reads all
eleven — the two runners, the workflow input, and each pom's <gc.version> — and holds them
to acceptableTargets(), the published-release rule the install snippets already follow.

mvnw.cmd is 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.sh8 of 8 BUILD SUCCESS, exit 0. Each project builds
in 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 verifyBUILD 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.

…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.
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.

1 participant