Skip to content

Commit ac38e60

Browse files
committed
docs: create RELEASE.md file documenting release process
Signed-off-by: Adam Talbot <[email protected]>
1 parent 656eb61 commit ac38e60

File tree

2 files changed

+39
-17
lines changed

2 files changed

+39
-17
lines changed

README.md

+1-17
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,4 @@ Starting from v2, `cmctl` is versioned seperately from cert-manager itself.
1717

1818
## Release Process
1919

20-
Create a Git tag with a tagname that has a `v` prefix and push it to GitHub.
21-
This will trigger the [release workflow].
22-
23-
1. Create and push a Git tag
24-
25-
```sh
26-
export VERSION=v2.0.0-alpha.0
27-
git tag --annotate --message="Release ${VERSION}" "${VERSION}"
28-
git push origin "${VERSION}"
29-
```
30-
31-
2. Wait for the [release workflow] to succeed.
32-
33-
3. Visit the [releases page], edit the draft release, click "Generate release notes", and publish the release.
34-
35-
[release workflow]: https://github.com/cert-manager/cmctl/actions/workflows/release.yaml
36-
[releases page]: https://github.com/cert-manager/cmctl/releases
20+
The release process is documented in [RELEASE.md](RELEASE.md).

RELEASE.md

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Releases
2+
3+
## Schedule
4+
5+
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.
6+
7+
## Process
8+
9+
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].
10+
11+
The release process for this repo is documented below:
12+
13+
1. Create a tag for the new release:
14+
```sh
15+
export VERSION=v0.5.0-alpha.0
16+
git tag --annotate --message="Release ${VERSION}" "${VERSION}"
17+
git push origin "${VERSION}"
18+
```
19+
2. A GitHub action will see the new tag and do the following:
20+
- Build the binaries
21+
- Create checksums for the binaries
22+
- Sign the checksums
23+
- Create a draft GitHub release
24+
- Upload binaries, checksums and signature to the GitHub release
25+
3. Visit the [releases page], edit the draft release, click "Generate release notes", then edit the notes to add the following to the top
26+
```
27+
cmctl is the command line tool for interacting with cert-manager.
28+
```
29+
4. Publish the release.
30+
31+
## Artifacts
32+
33+
This repo will produce the following artifacts each release. For documentation on how those artifacts are produced see the "Process" section.
34+
35+
- *Binaries* - The `cmctl` binary is created and attached to the GitHub release, along with its shasum
36+
37+
[release workflow]: https://github.com/cert-manager/cmctl/actions/workflows/release.yaml
38+
[releases page]: https://github.com/cert-manager/cmctl/releases

0 commit comments

Comments
 (0)