fix(release-script): install root artifact before ShowcaseSync#83
Merged
DemchaAV merged 1 commit intoMay 31, 2026
Merged
Conversation
…vent cut abort
cut-release.ps1 Step 4 (ShowcaseSync) aborted during the v1.6.5 cut
with "Could not find artifact io.github.demchaav:graphcompose:jar:1.6.5":
after Step 1 bumped the four pom.xml files to 1.6.5, the examples
module's graphcompose:\${project.version} dependency had no matching
artifact in local ~/.m2 (only the previous 1.6.4 was there) and Step 4
had no install gate. The cut had to finish by hand — install root, re-run
ShowcaseSync, verify, commit, tag, push.
Run-ShowcaseSync now executes ./mvnw -B -ntp -DskipTests install -pl .
immediately before exec:java, in both Release and PostReleaseOnly modes.
The dry-run preview now lists both steps so the install is visible
before any cut.
Also relaxes the Step 0 pre-flight branch / clean / sync gates for
-DryRun so the script can be previewed from a feature branch while
iterating on it. Live cuts still fail the gates loudly.
Lesson captured in docs/contributing/release-process.md section 4.
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.
Summary
cut-release.ps1Run-ShowcaseSyncnow runs./mvnw -B -ntp -DskipTests install -pl .immediately beforeexec:java, in both Release and PostReleaseOnly modes.-DryRunso the script can be previewed from a feature branch while iterating on it. Live cuts still fail the gates loudly.Why
During the v1.6.5 cut Step 4 (
ShowcaseSync) aborted with:Sequence of events that produced it:
1.6.5.mvnw -f examples/pom.xml exec:java ...to regeneratedocs/examples.json.graphcompose:${project.version}resolved to1.6.5.~/.m2only had1.6.4(the previous release) — there was no install gate between Step 1 and Step 4.ShowcaseSyncexit 1; the script threw.The cut had to finish by hand:
mvnw install, re-runShowcaseSync,verify,commit,tag,push. Same gap will fire on every future cut on a maintainer machine whose~/.m2doesn't already contain the new version (clean checkout, CI, fresh laptop). The install is cheap (~15-20 s) and idempotent.What changes
Run-ShowcaseSync: prepend the install call. Both the live invocation and the dry-run preview emit it.-DryRunguard so dry-runs work from any branch. Live cuts still see all three gates.release-process.mdsection 4: new "v1.6.5 cut" lesson entry.Verification
Dry-run from this feature branch shows both Maven invocations in the right order:
Pre-flight gate output confirms relaxation only in dry-run:
Test plan
Run-ShowcaseSyncand Step 0