Skip to content
You are reading the docs for Wanaku Semantic Router next, the unreleased development version. Read the docs for the latest release.

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.xml version 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) ​

shell
git checkout main
git checkout -b 0.3.x
git push origin 0.3.x

Start the next development version on main (first release of a minor version only) ​

After you create the release branch, go back to main and set the next development version. Use the next minor version with the -SNAPSHOT suffix. For example, after you create the 0.3.x branch, set main to 0.4.0-SNAPSHOT.

shell
git checkout main
mvn versions:set -DnewVersion=0.4.0-SNAPSHOT
mvn versions:commit
git commit -a -m "Version bump to 0.4.0-SNAPSHOT"
git push origin main

NOTE

The versions:commit goal removes the pom.xml.versionsBackup files. The git commit -a command commits all the changed pom.xml files.

Set the versions ​

shell
export RELEASE_BRANCH=0.3.x
export CURRENT_DEVELOPMENT_VERSION=0.3.0
export NEXT_DEVELOPMENT_VERSION=0.3.1

Trigger the release ​

shell
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 wanaku-semantic-router-VERSION-jar-with-dependencies.jar. The JAR contains all dependencies, so it runs alone with java -jar.

  1. Publish container images and multi-architecture manifests:

    shell
    gh workflow run release-artifacts -f currentDevelopmentVersion=${CURRENT_DEVELOPMENT_VERSION}
  2. Verify release artifacts on the GitHub Releases page

  3. Update the Wanaku documentation site if needed

Next steps ​