Release Process
This document describes how to perform a new Theodolite release.
We assume that we are creating the release v0.3.1
. Please make sure to adjust
the following steps according to the release, you are actually performing.
-
Create a new branch
v0.3
if it does not already exist. This branch will never again be merged into main. -
Checkout the
v0.3
branch. -
Update all references to artifacts which are versioned. This includes:
- Update all references to Theodolite Docker images to tag
v0.3.1
. These are:- the default
helm/values.yaml
file, - the example
execution/theodolite.yaml
job, - the Kubernetes benchmark resources in
theodolite-benchmarks/definitions/**/resources
and - the Docker Compose files in
theodolite-benchmarks/docker-test
.
- the default
-
Update both, the
version
and theappVersion
fields, in the HelmCharts.yaml
file to0.3.1
. -
Update the
version
field of thetheodolite/build.gradle
file to0.3.1
. Make sure to also adjust all references to the build artifact in thetheodolite/README.md
. -
Update
codemeta.json
to match the new version. In particular, make sure thatversion
points to the version you are releasing anddateModified
points to the date you are relasing this version. CodeMeta generator may help you in updating the file. - Update
CITATION.cff
to match the new version. At least update theversion
field.
- Update all references to Theodolite Docker images to tag
-
Create a Helm package by running
./build-package.sh
from the chart directory. -
Update the Helm repository index of located at
/docs
by running./update-index.sh v0.3.1
. -
Commit these changes to the
v0.3
branch. -
Tag this commit
v0.3.1
(can be done via GitLab). The corresponding Docker images will be uploaded from the CI/CD pipeline. -
Create releases on GitLab and GitHub. Upload the generated Helm package to these releases via the UIs of GitLab and GitHub.
-
Switch to the
main
branch. -
Re-run
./update-index.sh v0.3.1
to include the latest release in the upstream Helm repository. You can now delete the packaged Helm chart. -
If this release increments Theodolite’s latest version number,
-
Update the Helm
Charts.yaml
file to0.4.0-SNAPSHOT
(see Step 3). -
Update the Theodolite
build.gradle
andREADME.md
files0.4.0-SNAPSHOT
(see Step 3). -
Update the
codemeta.json
file according to Step 3. -
Update the
CITATION.cff
file according to Step 3.
-
-
Commit these changes to the
main
branch.