Releasing a new version

We will release a new version of Keycloak Benchmark when we have one or more breaking backward compatibility changes with prior versions of Keycloak releases. The changes are often in the "dataset" provider but are not limited to that.

Release steps

  1. Make sure that everything needed is committed and pushed inside https://github.com/keycloak/keycloak-benchmark in the main branch. On your local from the HEAD of the main branch, create a new release branch with this signature 0.XX-release, for example 0.13-release. In that release branch, make the below series of updates to upgrade the version which are required for a Keycloak Benchmark’s SNAPSHOT release to be successful.

  2. Update the latest supported version of Keycloak in the Snapshot release GitHub workflow YAML in the --notes 'Latest version built from with a line similar to <br>Use this with Keycloak 25.x. This is further used by the Snapshot GitHub workflow to create the snapshot releases and imprint the artifacts with the specific Keycloak release.

  3. Now perform a project wide search for the below keywords and replace them with the respective ones appropriately as per the release.

    • Search for nightly and replace it with 25.0.1, if the release is performed against the Keycloak 25.0.1 build.

    • Search for keycloak-999.0.0-SNAPSHOT and replace it with keycloak-25.0.1, if the release is performed against the Keycloak 25.0.1 build.

  4. Now push your changes from your local XX-release branch to the remote XX-release branch, which in turn generates the specific artifacts necessary for the SNAPSHOT release.

Post Release steps

  1. Once the release branch is cut and the SNAPSHOT release generates its artifacts successfully, perform the below steps against the main branch in order to propagate the new changes into a newer SNAPSHOT version. While these post-release steps, have to be executed manually, we hope to automate them to a single click release workflow in the future.

  2. Upgrade to the new SNAPSHOT versions in all the locations inside the below files. For example, after performing a 0.13-SNAPSHOT release, search for 0.13-SNAPSHOT keyword in the files below and replace it with the next logical version number, in this case with 0.14-SNAPSHOT.

  3. Once the changes are all in place, commit these to the main branch with a good commit message to indicate the project has now been upgraded to a newer SNAPSHOT release.