fix(release): bump every train coordinate in the root README - #694
Merged
Merged
Conversation
v2.4.0 shipped a README whose graph-compose-testing snippet read 2.3.0 beside graph-compose 2.4.0. Update-ReadmeInstallVersion rewrote only the first bare graph-compose Maven and Gradle coordinate, and VersionConsistencyGuardTest read the root README the same way. A second train coordinate on the page could fall a release behind with every gate green. - cut-release.ps1: the root README bump rewrites every graph-compose* coordinate, Maven and Gradle, skipping graph-compose-fonts and graph-compose-emoji. That is the rule Update-ModuleReadmeInstallVersion already applies. - VersionConsistencyGuardTest: the README check holds every GraphCompose coordinate on the page to the train version, and a companion to its own pom. It uses the coordinate scan the docs/ check uses, now shared as coordinatesIn and driftIn. - release-script-check.yml: a unit check lifts the bump by AST and runs it on a fixture with an exact expected result, then on the real README. - README.md: the graph-compose-testing snippet reads 2.4.0. - release-process.md: says what the root README pass rewrites.
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.
Why
v2.4.0 shipped a README whose
graph-compose-testingsnippet read2.3.0besidegraph-compose2.4.0. The testing snippet arrived with #690, and the release commit bumped only the baregraph-composecoordinate:Update-ReadmeInstallVersionrewrote the firstgraph-composeMaven and Gradle match, and nothing else.VersionConsistencyGuardTestread the root README the same way.The train is a tested-compatible set only at one version, so a reader following that page mixed two releases, with every gate green.
What changed
scripts/cut-release.ps1: the root README bump rewrites everygraph-compose*coordinate, Maven and Gradle, and skipsgraph-compose-fontsandgraph-compose-emoji.Update-ModuleReadmeInstallVersionalready applies that rule to module READMEs and docs pages. The legacy JitPack fallback is unchanged.VersionConsistencyGuardTest:readmeInstallSnippetsMatchTheProjectVersionkeeps itsgraph-composeMaven and Gradle assertions.docs/check, extracted ascoordinatesInanddriftIn. The docs check behaves as before..github/workflows/release-script-check.yml: a new unit check liftsUpdate-ReadmeInstallVersionby AST, like the checks around it, and asserts that something calls it. It then runs the function twice:README.md: thegraph-compose-testingsnippet reads2.4.0.docs/contributing/release-process.md: §1 step 2 now says what the root README pass rewrites.Verification
VersionConsistencyGuardTestfailed withREADME.md:196 graph-compose-testing advertises 2.3.0, expected one of [2.4.0]. After it, 23/23 pass../mvnw -B -ntp test -pl :graph-compose-core -Dtest=com.demcha.documentation.**gives BUILD SUCCESS with 145 tests. That includes the guards that parsecut-release.ps1:ReleaseAssetStepGuardTest,ReleaseKnowledgeGateGuardTest,ReleaseScriptGitExitCodeGuardTest,ReleaseScriptInstallListGuardTestandReleaseScriptRoadmapGuardTest.cut-release.ps1 -Version 2.4.99 -Branch develop -DryRun -SkipShowcaseexits 0 and reports the README Maven and Gradle bumps.git diff --checkis clean.Lane: build. Covers the release script, its CI check, one guard test and two documentation lines; no library code.