Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add initial documentation of release process #224

Merged
merged 1 commit into from
Mar 27, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,36 @@ the features that cert-manager provides.
Please follow the documentation at
[cert-manager.io](https://cert-manager.io/docs/projects/csi-driver/) for
installing and using csi-driver.

## Release Process

There is a semi-automated release process for csi-driver.
When you create a Git tag with a tagname that has a `v` prefix and push it to GitHub
it will trigger the [release workflow].

This will:

1. Create and push a Docker image to `quay.io/jetstack/cert-manager-csi-driver:${{ github.ref_name }}`
2. Create a Helm chart
3. Create a *draft* GitHub release with the Helm chart file attached and containing a reference to the Docker image.

To perform a release:

1. Create and push a Git tag

```sh
export VERSION=v0.5.0-alpha.0
git tag --annotate --message="Release ${VERSION}" "${VERSION}"
git push origin "${VERSION}"
```

2. Wait for the [release workflow] to succeed and if successful visit the draft release page to download the attached Helm chart attachment.

3. Create a PR in the [jetstack/jetstack-charts repository on GitHub](https://github.com/jetstack/jetstack-charts), containing the Helm chart file that is attached to the draft GitHub release. This is only currently possible for maintainers inside Venafi, but will be changed in the future.

4. Wait for the PR to be merged and verify that the Helm chart is available from https://charts.jetstack.io.

5. Visit the [releases page], edit the draft release, click "Generate release notes", and publish the release.

[release workflow]: https://github.com/cert-manager/csi-driver/actions/workflows/release.yaml
[releases page]: https://github.com/cert-manager/csi-driver/releases