Skip to content

Commit 9055106

Browse files
catherinetcaiaauren
authored andcommitted
docs(RELEASE.md): Nest prep-release instructions under major/minor revision. Add an additional lint/test step into patch release instructions
1 parent 2e2fb59 commit 9055106

File tree

1 file changed

+25
-22
lines changed

1 file changed

+25
-22
lines changed

RELEASE.md

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Process for creating a kube-router release
22

3-
## Preparing for the release
3+
## New major/minor release
4+
5+
### Preparing for the release
46

57
Run the following command from the project root:
68

@@ -55,10 +57,10 @@ go list -mod=mod -u -m -f '{{.}}{{if .Indirect}} IAMINDIRECT{{end}}' all | grep
5557
**Checking Kubernetes manifests** — ensure that the Kubernetes object definitions in the
5658
[daemonset](daemonset) folder do not use deprecated API types before tagging a release.
5759

58-
## New major/minor release
60+
### Creating the Release
5961

60-
* Create a branch named v$MAJOR.$MINOR from the default branch (currently: master)
61-
* Create a new tag with the release tag v$MAJOR.$MINOR.0
62+
- Create a branch named v$MAJOR.$MINOR from the default branch (currently: master)
63+
- Create a new tag with the release tag v$MAJOR.$MINOR.0
6264

6365
```sh
6466
git tag <tag_name>
@@ -74,11 +76,12 @@ kube-router generally only supports the current major.minor release. Patch relea
7476
only created in exceptional cases. See the [supported versions](docs/upgrading.md#supported-versions) policy for
7577
details.
7678

77-
* Change to the `master` branch
78-
* Use `git log` to identify which commits you want to bring to the new patch release
79-
* Change to the major/minor release branch that was created for this release
80-
* Cherry-Pick the changes from the `master` branch into the release branch
81-
* Create a new tag from the v$MAJOR.$MINOR release branch with the release tag v$MAJOR.$MINOR.$PATCH
79+
- Change to the `master` branch
80+
- Use `git log` to identify which commits you want to bring to the new patch release
81+
- Change to the major/minor release branch that was created for this release (e.g. `git checkout v2.8` if that is the branch for the most recent release)
82+
- Cherry-Pick the changes from the `master` branch into the release branch
83+
- Run `make` to ensure after cherry-picking that your changes are linted and pass tests
84+
- Create a new tag from the v$MAJOR.$MINOR release branch with the release tag v$MAJOR.$MINOR.$PATCH
8285

8386
Example:
8487

@@ -96,32 +99,32 @@ official kube-router remote.
9699

97100
## Release Candidates
98101

99-
* Follow above instructions and ensure that the tag contains `-rc`. Don't mark the pre-release as a proper release.
102+
- Follow above instructions and ensure that the tag contains `-rc`. Don't mark the pre-release as a proper release.
100103

101104
## Release Build Process
102105

103106
Once the tag is pushed to GitHub, GitHub Actions will be triggered and several things will happen:
104107

105-
* kube-router will be linted
106-
* kube-router will be tested
107-
* The actions will run a test build of the kube-router binary
108-
* Containers for [defined architectures](https://github.com/cloudnativelabs/kube-router/blob/master/.github/workflows/ci.yml)
108+
- kube-router will be linted
109+
- kube-router will be tested
110+
- The actions will run a test build of the kube-router binary
111+
- Containers for [defined architectures](https://github.com/cloudnativelabs/kube-router/blob/master/.github/workflows/ci.yml)
109112
(see `platforms` section in yaml) will be built and pushed to
110113
[DockerHub](https://hub.docker.com/r/cloudnativelabs/kube-router) via the `docker buildx` command
111-
* [goreleaser](https://goreleaser.com) will be run and will:
112-
* Generate a draft release on GitHub where maintainers can later choose to update it and release it
113-
* Brief release notes will be added to the draft release
114-
* Build all of the binary releases for [defined architectures](https://github.com/cloudnativelabs/kube-router/blob/master/.goreleaser.yml)
114+
- [goreleaser](https://goreleaser.com) will be run and will:
115+
- Generate a draft release on GitHub where maintainers can later choose to update it and release it
116+
- Brief release notes will be added to the draft release
117+
- Build all of the binary releases for [defined architectures](https://github.com/cloudnativelabs/kube-router/blob/master/.goreleaser.yml)
115118
and attach them to the draft release on GitHub
116119

117120
## After the release
118121

119-
* Go to the [GitHub releases page for the kube-router project](https://github.com/cloudnativelabs/kube-router/releases)
120-
* Find the draft release
121-
* Consistent Changelog Syntax can be retrieved by running the following Git command:
122+
- Go to the [GitHub releases page for the kube-router project](https://github.com/cloudnativelabs/kube-router/releases)
123+
- Find the draft release
124+
- Consistent Changelog Syntax can be retrieved by running the following Git command:
122125

123126
```sh
124127
git log --format='* %h - %s `<%an>`' --cherry-pick --right-only <tag>...<tag>
125128
```
126129

127-
* Announce the release in [#kube-router](https://app.slack.com/client/T09NY5SBT/C8DCQGTSB) on Kubernetes Slack.
130+
- Announce the release in [#kube-router](https://app.slack.com/client/T09NY5SBT/C8DCQGTSB) on Kubernetes Slack.

0 commit comments

Comments
 (0)