You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/content/developers/publishing-a-new-kcp-release.md
+31-7Lines changed: 31 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,8 +9,6 @@ description: >
9
9
You currently need write access to the [kcp-dev/kcp](https://github.com/kcp-dev/kcp) repository to perform these
10
10
tasks.
11
11
12
-
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>.
13
-
14
12
## Create git tags
15
13
16
14
### Prerequisite - make sure you have a GPG signing key
To generate release notes from the information in PR descriptions you should use Kubernetes' [release-notes](https://github.com/kubernetes/release/tree/master/cmd/release-notes) tool.
73
+
This tool will use the `release-notes` blocks in PR descriptions and the `kind/` labels on those PRs to find user-facing changes and categorize them.
74
+
You can run the command below to install the latest version of it:
75
+
76
+
```shell
77
+
go install k8s.io/release/cmd/release-notes@latest
78
+
```
79
+
80
+
To use `release-notes` you will need to generate a GitHub API token (Settings -> Developers settings -> Personal access tokens -> Fine-grained tokens). A token with _Public Repositories (read-only)_ repository access and no further permissions is sufficient. Store the token somewhere safe and export it as `GITHUB_TOKEN` environment variable.
81
+
82
+
Then, run run the `release-notes` tool (set `PREV_VERSION` to the version released before the one you have just released).
83
+
84
+
```shell
85
+
VERSION=1.2
86
+
PREV_VERSION=1.1
87
+
release-notes \
88
+
--required-author='' \
89
+
--org kcp-dev \
90
+
--repo kcp \
91
+
--branch main \
92
+
--start-rev v$PREV_VERSION \
93
+
--end-rev v$VERSION \
94
+
--output CHANGELOG.md
95
+
```
96
+
97
+
Don't commit the `CHANGELOG.md` to the repository, just keep it around to update the release on GitHub (next step).
98
+
72
99
## Review/edit/publish the release in GitHub
73
100
74
101
The [goreleaser](https://github.com/kcp-dev/kcp/actions/workflows/goreleaser.yml) workflow automatically creates a draft GitHub release for each tag.
75
102
76
103
1. Navigate to the draft release for the tag you just pushed. You'll be able to find it under the [releases](https://github.com/kcp-dev/kcp/releases) page.
77
104
2. If the release notes have been pre-populated, delete them.
78
-
3. For the "previous tag," select the most recent, appropriate tag as the starting point
79
-
1. 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)
80
-
2. If this is a patch release (e.g. v0.8.7), select the previous patch release (e.g. v0.8.6)
81
-
4. Click "Generate release notes"
82
-
5. Publish the release
105
+
3. Copy release notes from the `CHANGELOG.md` file you generated in the previous step.
0 commit comments