Skip to content

Commit

Permalink
Merge pull request #259 from ThatsMrTalbot/docs/release-file
Browse files Browse the repository at this point in the history
docs: move release docs to RELEASE.md
  • Loading branch information
cert-manager-prow[bot] authored May 13, 2024
2 parents 2ad2e89 + f5cea5b commit 6d40aba
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 30 deletions.
31 changes: 1 addition & 30 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,33 +38,4 @@ 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
The release process is documented in [RELEASE.md](RELEASE.md).
41 changes: 41 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Releases

## Schedule

The release schedule for this project is ad-hoc. Given the pre-1.0 status of the project we do not have a fixed release cadence. However if a vulnerability is discovered we will respond in accordance with our [security policy](https://github.com/cert-manager/community/blob/main/SECURITY.md) and this response may include a release.

## Process

There is a semi-automated release process for this project. 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].

The release process for this repo is documented below:

1. Create a tag for the new release:
```sh
export VERSION=v0.5.0-alpha.0
git tag --annotate --message="Release ${VERSION}" "${VERSION}"
git push origin "${VERSION}"
```
2. A GitHub action will see the new tag and do the following:
- Build and publish any container images
- Build and bundle the Helm chart
- Create a draft GitHub release
- Upload the Helm chart tarball to the GitHub release
3. Once the draft GitHub release has been created, download and test the resulting Helm chart.
4. 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.
5. Wait for the PR to be merged and verify that the Helm chart is available from https://charts.jetstack.io.
6. Visit the [releases page], edit the draft release, click "Generate release notes", then edit the notes to add the following to the top
```
cert-manager-csi-driver enables issuing secretless X.509 certificates for pods using cert-manager!
```
7. Publish the release.
## Artifacts
This repo will produce the following artifacts each release. For documentation on how those artifacts are produced see the "Process" section.
- *Container Images* - Container images for the are published to .
- *Helm chart* - An official Helm chart is maintained within this repo and published to `charts.jetstack.io` on each release.
[release workflow]: https://github.com/cert-manager/csi-driver/actions/workflows/release.yaml
[releases page]: https://github.com/cert-manager/csi-driver/releases

0 comments on commit 6d40aba

Please sign in to comment.