Skip to content

test(build): guard version consistency across modules and README#70

Merged
DemchaAV merged 2 commits into
developfrom
test/version-consistency-guard
May 29, 2026
Merged

test(build): guard version consistency across modules and README#70
DemchaAV merged 2 commits into
developfrom
test/version-consistency-guard

Conversation

@DemchaAV

Copy link
Copy Markdown
Owner

Summary

  • Adds VersionConsistencyGuardTest asserting the GraphCompose version is identical across pom.xml, the aggregator, and the inherited examples/benchmarks modules; that benchmarks derives its dependency from ${project.version} (no literal); and that the README install snippets match.
  • Wires it into the fast CI guard job (ci.yml) next to the existing architecture/documentation guards.

Why

Locks in the version model from #69 so a future bump that misses a module — or leaves the README snippet stale — fails CI fast instead of silently shipping a drifted benchmark.

Notes

Test plan

  • VersionConsistencyGuardTest — 4/4 green
  • Exact CI guard subset incl. new test — 36 green
  • mvnw clean verify -pl . — 994 tests green

DemchaAV added 2 commits May 29, 2026 01:47
examples and benchmarks inherit their version from a new, non-published
graphcompose-build aggregator (pom packaging) instead of hardcoding it.
Removes the benchmarks graphcompose.version literal that caused drift
after a bump; the dependency now tracks ${project.version}. The library
root pom.xml is unchanged so JitPack coordinates are unaffected. A single
`mvn -f aggregator/pom.xml versions:set -DnewVersion=X` bumps every
module atomically.
VersionConsistencyGuardTest asserts the GraphCompose version is identical
across pom.xml, the aggregator, and the inherited examples/benchmarks
modules, that benchmarks derives its dependency from ${project.version}
rather than a literal, and that the README install snippets match. Wires
it into the fast CI guard job so a bump that misses a module — the drift
that let benchmarks build against the previous release — fails fast.
Base automatically changed from chore/version-inheritance-reactor to develop May 29, 2026 01:38
@DemchaAV DemchaAV merged commit ca1c736 into develop May 29, 2026
9 checks passed
@DemchaAV DemchaAV deleted the test/version-consistency-guard branch May 29, 2026 01:39
DemchaAV added a commit that referenced this pull request May 29, 2026
…cut (#71)

After the aggregator-reactor change (#69) the version lives in the library
pom, the aggregator, and the children's inherited <parent> refs — but
cut-release.ps1 bumped only three POMs (skipping the aggregator) and never
touched the README JitPack snippets. A cut would have failed the new
version guard (#70) and shipped a stale README install snippet.

cut-release.ps1 now also bumps aggregator/pom.xml and rewrites the README
Maven + Gradle install snippets to the release tag in the same release
commit (Phase 2.3: README version flips at release-execution time), and
stages both files.
DemchaAV added a commit that referenced this pull request May 29, 2026
…ase.yml (#74)

Updates the release runbook to match the v1.6.5 plumbing (#69 #70 #71 #72 #73):

- README install snippets now flip in the release commit (cut-release.ps1),
  enforced by VersionConsistencyGuardTest — replaces the old "stay pinned to
  the previous tag, flip post-release" model that contradicted the guard.
- Version lives in four sites (library pom, aggregator, inherited
  examples/benchmarks parents); the script bumps all four + README in one pass.
- GitHub Release is created automatically by release.yml on tag push; the
  manual gh release create is now the documented fallback.
- Adds VersionConsistencyGuardTest to the pre-release guard-suite gate, and a
  v1.6.5 lesson that supersedes the v1.6.0 graphcompose.version property note.

The graphcompose-release-engineer skill (local config, Claude + Codex copies)
was aligned in lockstep.
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