Skip to content
Snippets Groups Projects
Commit 13eb8f46 authored by Sören Henning's avatar Sören Henning
Browse files

Update release process for Helm charts

parent 81226ad4
No related branches found
No related tags found
1 merge request!60Introduce a Theodolite Helm chart for deploying all dependencies
...@@ -11,22 +11,42 @@ This document describes how to perform a new Theodolite release. ...@@ -11,22 +11,42 @@ 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 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. the following steps according to the release, you are actually performing.
1. Update `codemeta.json` to match the new version. In particular, make sure that `version` points to the version you are releasing and `dateModified` points to the date you are relasing this version. [CodeMeata generator](https://codemeta.github.io/codemeta-generator/) may help you in updating the file. 1. Create a new branch `v0.3` if it does not already exist. This branch will never
again be merged into master.
2. Update `CITATION.cff` to match the new version. At least update the `version` field. 2. Checkout the `v0.3` branch.
3. Commit these changes to the `master` branch. 3. Update all references to artifacts which are versioned. This includes:
4. Create a new branch `v0.3` if it does not already exists. This branch will never 1. Update all references to Theodolite Docker images to tag `v0.3.1`. These are the Kubernetes resource definitions in
again be merged into master. `execution`, the references to *latest* in `run_uc.py`, the Docker Compose files in `theodolite-benchmarks/docker-test` and the example `theodolite.yaml` job.
2. Update both, the `version` and the `appVersion` fields, in the Helm `Charts.yaml` file to `0.3.1`.
3. Update `codemeta.json` to match the new version. In particular, make sure that `version` points to the version you are releasing and `dateModified` points to the date you are relasing this version. [CodeMeata generator](https://codemeta.github.io/codemeta-generator/) may help you in updating the file.
4. Update `CITATION.cff` to match the new version. At least update the `version` field.
4. Create a Helm package by running `./build-package.sh` from the chart directory.
5. Update the Helm repository index of located at `/docs` by running `./update-index.sh v0.3.1`.
6. Commit these changes to the `v0.3` branch.
7. Tag this commit `v0.3.1` (can be done via GitLab). The corresponding Docker images will be uploaded.
8. Create *releases* on GitLab and GitHub. Upload the generated Helm package to these releases.
9. Switch to the `master` branch.
10. 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.
5. Checkout the `v0.3` branch. 11. If this release increments Theodolite's *latest* version number,
6. Update all references to Theodolite Docker images to tag `v0.3.1`. These are the Kubernetes resource definitions in 1. Update the Helm `Charts.yaml` file to `0.4.0-SNAPSHOT` (see Step 3).
`execution`, the references to *latest* in `run_uc.py`, the Docker Compose files in `docker-test` and the example `theodolite.yaml` job.
7. Commit these changes. 2. Update the `codemeta.json` file according to Step 3.
8. Tag this commit with `v0.3.1`. The corresponding Docker images will be uploaded. 3. Update the `CITATION.cff` file according to Step 3.
9. Create *releases* for this tag in both, GitLab and GitHub. 12. Commit these changes to the `master` branch.
#!/usr/bin/env sh
helm package . --dependency-update && rm -r charts # We don't want to include dependencies in our index
#!/usr/bin/env sh
RELEASE_PATH="https://github.com/cau-se/theodolite/releases/download"
RELEASE_NAME=$1 # Supposed to be equal to tag, e.g., v0.3.0
helm repo index . --url $RELEASE_PATH/$RELEASE_NAME --merge ../../../docs/index.yaml && \
mv index.yaml ../../../docs/index.yaml
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment