Skip to content

Commit

Permalink
release-process: reformulate 1.10-specific parts
Browse files Browse the repository at this point in the history
Signed-off-by: Maël Valais <[email protected]>
  • Loading branch information
maelvls committed Sep 1, 2023
1 parent 4490bae commit ca686e2
Showing 1 changed file with 24 additions and 30 deletions.
54 changes: 24 additions & 30 deletions content/docs/contributing/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -514,48 +514,42 @@ page if a step is missing or if it is outdated.
If there are any users who didn't make code contributions but helped in
other ways (testing, PR discussion, etc), be sure to thank them here!
11. Check that the build is complete and send Slack messages about the release:
11. Check that the build that was automatically triggered when you pushed the
tag is complete and send Slack messages about the release.
1. For recent versions of cert-manager, the build will have been
automatically triggered by the tag being pushed earlier. You can check if
it's complete on the
[GCB Build History](https://console.cloud.google.com/cloud-build/builds?project=cert-manager-release).
2. If you're releasing an older version of cert-manager (earlier than 1.10)
then the automatic build will failed because the GCB config for that
build wasn't backported. In this case, you'll need to trigger the build
manually using `cmrel`, which takes about 5 minutes:
```bash
# Must be run from the "cert-manager/release" repo folder.
cmrel makestage --ref=$RELEASE_VERSION
```
This build takes ~5 minutes. It will build all container images and
create all the manifest files, sign Helm charts and upload everything to
a storage bucket on Google Cloud. These artifacts will then be published
and released in the next steps.
3. In any case, send a first Slack message to `#cert-manager-dev`:
1. Send a first Slack message to `#cert-manager-dev`:
<div className="pageinfo pageinfo-primary"><p>
Releasing <code>1.2.0-alpha.2</code> 🧵
</p></div>
2. Check that the build completed in the [GCB Build
History](https://console.cloud.google.com/cloud-build/builds?project=cert-manager-release).
<div className="pageinfo pageinfo-info"><p>
🔰 Please have a quick look at the build log as it might contain some unredacted
data that we forgot to hide. We try to make sure the sensitive data is
properly redacted but sometimes we forget to update this.
</p></div>
4. Send a second Slack message in reply to this first message with the Cloud
> **NOTE (1.10 and earlier):** If you're releasing an older version of
> cert-manager then the automatic build will failed because the GCB config
> for that build wasn't backported. In this case, you'll need to trigger the
> build manually using `cmrel`, which takes about 5 minutes:
>
> ```bash
> # Must be run from the "cert-manager/release" repo folder.
> cmrel makestage --ref=$RELEASE_VERSION
> ```
3. Copy the build logs URL and send a second Slack message in reply to this first message with the Cloud
Build job link. For example, the message might look like:
<div className="pageinfo pageinfo-info"><p>
Follow the <code>cmrel makestage</code> build: https://console.cloud.google.com/cloud-build/builds/7641734d-fc3c-42e7-9e4c-85bfc4d1d547?project=1021342095237
<code>cmrel makestage</code> build logs: https://console.cloud.google.com/cloud-build/builds/7641734d-fc3c-42e7-9e4c-85bfc4d1d547?project=1021342095237
</p></div>
12. Run `cmrel publish`:
13. Run `cmrel publish`:
1. Do a `cmrel publish` dry-run to ensure that all the staged resources are
valid. Run the following command:
Expand Down Expand Up @@ -603,7 +597,7 @@ page if a step is missing or if it is outdated.
Follow the <code>cmrel publish</code> build: https://console.cloud.google.com/cloud-build/builds/b6fef12b-2e81-4486-9f1f-d00592351789?project=1021342095237
</p></div>
13. Publish the GitHub release:
14. Publish the GitHub release:
1. Visit the draft GitHub release and paste in the release notes that you
generated earlier. You will need to manually edit the content to match
Expand All @@ -618,7 +612,7 @@ page if a step is missing or if it is outdated.
4. Click "Publish" to make the GitHub release live.
14. Merge the pull request containing the Helm chart:
15. Merge the pull request containing the Helm chart:
The Helm charts for cert-manager are served using Cloudflare pages and the
Helm chart files and metadata are stored in the
Expand All @@ -633,7 +627,7 @@ page if a step is missing or if it is outdated.
5. Check that the
[cert-manager Helm chart is visible on ArtifactHUB](https://artifacthub.io/packages/helm/cert-manager/cert-manager).
15. **(final + patch releases)** Merge the 4 Website PRs:
16. **(final + patch releases)** Merge the 4 Website PRs:
1. Merge the PRs "Release Notes", "Upgrade Notes", and "Freeze And Bump
Versions" that you have created previously.
Expand All @@ -652,7 +646,7 @@ page if a step is missing or if it is outdated.
[ff-release-next]:
https://github.com/cert-manager/website/compare/master...release-next?quick_pull=1&title=%5BPost-Release%5D+Merge+release-next+into+master&body=%3C%21--%0A%0AThe+command+%22%2Foverride+dco%22+is+necessary+because+some+the+merge+commits%0Ahave+been+written+by+the+bot+and+do+not+have+a+DCO+signoff.%0A%0A--%3E%0A%0A%2Foverride+dco
16. Open a PR for a [Homebrew](https://github.com/Homebrew/homebrew-core/pulls)
17. Open a PR for a [Homebrew](https://github.com/Homebrew/homebrew-core/pulls)
formula update for `cmctl`.
Assuming you have `brew` installed, you can use the `brew bump-formula-pr`
Expand All @@ -670,7 +664,7 @@ page if a step is missing or if it is outdated.
against https://github.com/homebrew/homebrew-core has been opened, continue
with further release steps.
17. Post a Slack message as an answer to the first message. Toggle the check box
18. Post a Slack message as an answer to the first message. Toggle the check box
"Also send to `#cert-manager-dev`" so that the message is well visible. Also
cross-post the message on `#cert-manager`.
Expand Down

0 comments on commit ca686e2

Please sign in to comment.