Publishing a new kcp release
You currently need write access to the kcp-dev/kcp repository to perform these tasks.
You also need an available team member with approval permissions from https://github.com/openshift/release/blob/master/ci-operator/config/kcp-dev/kcp/OWNERS.
Create git tags
Prerequisite - make sure you have a GPG signing key
Create the tags
kcp has 2 go modules, and a unique tag is needed for each module every time we create a new release.
git fetchfrom the main kcp repository (kcp-dev/kcp) to ensure you have the latest commits
- Tag the main module
- If your git remote for kcp-dev/kcp is named something other than
If you are creating a release from a release branch, change
REFaccordingly, or you can make
REFa commit hash.
sdkmodule, following the same logic as above for
Push the tags
If it's a new minor version
If this is the first release of a new minor version (e.g. the last release was v0.7.x, and you are releasing the first 0.8.x version), follow the following steps.
Otherwise, you can skip to Review/edit/publish the release in GitHub
Create a release branch
VERSION as appropriate.
Review/edit/publish the release in GitHub
The goreleaser workflow automatically creates a draft GitHub release for each tag.
- Navigate to the draft release for the tag you just pushed. You'll be able to find it under the releases page.
- If the release notes have been pre-populated, delete them.
- For the "previous tag," select the most recent, appropriate tag as the starting point
- If this is a new minor release (e.g. v0.8.0), select the initial version of the previous minor release (e.g. v0.7.0)
- If this is a patch release (e.g. v0.8.7), select the previous patch release (e.g. v0.8.6)
- Click "Generate release notes"
- Publish the release
- Create an email addressed to firstname.lastname@example.org and email@example.com
- In the body, include noteworthy changes
- Provide a link to the release in GitHub for the full release notes
- Post a message in the #kcp-dev Slack channel