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
-
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 themain
branch, create a new release branch with this signature0.XX-release
, for example0.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. -
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 theSnapshot
GitHub workflow to create the snapshot releases and imprint the artifacts with the specific Keycloak release. -
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 with25.0.1
, if the release is performed against theKeycloak 25.0.1
build. -
Search for
keycloak-999.0.0-SNAPSHOT
and replace it withkeycloak-25.0.1
, if the release is performed against theKeycloak 25.0.1
build.
-
-
Now push your changes from your local
XX-release
branch to the remoteXX-release
branch, which in turn generates the specific artifacts necessary for the SNAPSHOT release.
Post Release steps
-
Once the
release
branch is cut and the SNAPSHOT release generates its artifacts successfully, perform the below steps against themain
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. -
Upgrade to the new SNAPSHOT versions in all the locations inside the below files. For example, after performing a
0.13-SNAPSHOT
release, search for0.13-SNAPSHOT
keyword in the files below and replace it with the next logical version number, in this case with0.14-SNAPSHOT
.-
Keycloak Benchmark ROOT
-
Benchmark module
-
antora.yml file under the Benchmark docs.
-
Dataset module
-
KeycloakServer.java update the default
project_version
. -
antora.yml file under the Dataset docs.
-
Kubernetes module
-
pom.xml for ROSA Cross DC functional tests.
-
antora.yml file under the Kubernetes docs.
-
-
Ansible module
-
-
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.