Release Guide
Pre-Release Checklist
Before triggering a release, verify the following:
- [ ] All tests passing on the release branch
- [ ] Release version matches the root
pom.xmlversion without-SNAPSHOT - [ ] No unintended SNAPSHOT dependencies
- [ ] Documentation updated for new features
- [ ] Breaking changes and migration steps documented in the release notes
Triggering a Release
Configure the credentials described in CI automation. Container publishing is skipped unless both QUAY_USERNAME and QUAY_PASSWORD are set.
Releases are cut from release branches following the X.Y.x naming convention (e.g., 0.1.x, 0.2.x).
Create the release branch (first release of a minor version only)
git checkout main
git checkout -b 0.3.x
git push origin 0.3.xSet the versions
export RELEASE_BRANCH=0.3.x
export CURRENT_DEVELOPMENT_VERSION=0.3.0
export NEXT_DEVELOPMENT_VERSION=0.3.1Trigger the release
gh workflow run release -r ${RELEASE_BRANCH} -f releaseBranch=${RELEASE_BRANCH} -f currentDevelopmentVersion=${CURRENT_DEVELOPMENT_VERSION} -f nextDevelopmentVersion=${NEXT_DEVELOPMENT_VERSION}NOTE
The -r flag tells GitHub to run the workflow from the release branch. The releaseBranch input tells the workflow which branch to check out and push version bump commits to.
Post-Release
After the release workflow completes successfully:
The release workflow publishes the signed runtime ZIP containing the application JAR and its lib/ directory. Keep both together when extracting the distribution.
Publish container images and multi-architecture manifests:
shellgh workflow run release-artifacts -f currentDevelopmentVersion=${CURRENT_DEVELOPMENT_VERSION}Verify release artifacts on the GitHub Releases page
Update the Wanaku documentation site if needed
Next steps
- Build the Wanaku Semantic Router: build and package from source.
- CI automation: publishing prerequisites and release artifacts.