feat: add automated semantic versioning with git-semver-plugin#35
Open
adityamparikh wants to merge 4 commits intoapache:mainfrom
Open
feat: add automated semantic versioning with git-semver-plugin#35adityamparikh wants to merge 4 commits intoapache:mainfrom
adityamparikh wants to merge 4 commits intoapache:mainfrom
Conversation
This was referenced Jan 7, 2026
Contributor
Author
epugh
reviewed
Jan 7, 2026
Contributor
epugh
left a comment
There was a problem hiding this comment.
I looked at the WORKFLOWS.md, and I think i see how to do this manually...
- Add jmongard/git-semver-plugin for automatic version calculation - Version derived from git tags and conventional commits - Add auto-release.yml workflow for automated releases on merge to main - Update build-and-publish.yml to use plugin version - Update WORKFLOWS.md with comprehensive documentation The release flow is now: 1. PR merged → auto-release.yml creates version tag + changelog 2. Tag push → build-and-publish.yml publishes Docker images 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- auto-release.yml now only builds SNAPSHOT and accumulates changelog - New cut-release.yml for manual release cutting with version tagging - Changelog accumulates under "Unreleased" until release is cut - Added version_override option for first release (1.0.0) - Updated WORKFLOWS.md with complete release flow documentation Release flow: 1. PR merge → SNAPSHOT build + changelog accumulation (auto) 2. Cut release → version tag + finalized changelog (manual) 3. Official ASF → RC tag + vote + apache/* publish (manual) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update WORKFLOWS.md to clearly document that pull requests: - Build and test the project - Upload JAR artifacts (downloadable from GitHub Actions) - Upload test results and coverage reports - Do NOT publish Docker images (publish job is skipped) This clarifies the distinction between PR validation (artifacts only) and merge/tag triggers (full Docker publishing). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Contributor
|
I think this is pending us getting one real release out using the apache trusted release tooling, and then we'll learn enough about how to integrate this. |
Signed-off-by: Aditya Parikh <adityamparikh@gmail.com>
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
auto-release.ymlworkflow for SNAPSHOT builds and changelog accumulationcut-release.ymlworkflow for manual release creationbuild-and-publish.ymlto use plugin-calculated versionWORKFLOWS.mdHow It Works
Version Calculation
The plugin analyzes commits since the last tag:
fix:→ patch bump (1.0.0 → 1.0.1)feat:→ minor bump (1.0.0 → 1.1.0)feat!:orBREAKING CHANGE:→ major bump (1.0.0 → 2.0.0)Release Flow
New Gradle Commands
Test plan
./gradlew printVersionreturns1.0.0-SNAPSHOT./gradlew printChangeLoggenerates proper changelog from commits./gradlew classescompiles successfully🤖 Generated with Claude Code