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: RELEASE.md
+25-22Lines changed: 25 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,8 @@
1
1
# Process for creating a kube-router release
2
2
3
-
## Preparing for the release
3
+
## New major/minor release
4
+
5
+
### Preparing for the release
4
6
5
7
Run the following command from the project root:
6
8
@@ -55,10 +57,10 @@ go list -mod=mod -u -m -f '{{.}}{{if .Indirect}} IAMINDIRECT{{end}}' all | grep
55
57
**Checking Kubernetes manifests** — ensure that the Kubernetes object definitions in the
56
58
[daemonset](daemonset) folder do not use deprecated API types before tagging a release.
57
59
58
-
##New major/minor release
60
+
### Creating the Release
59
61
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
62
64
63
65
```sh
64
66
git tag <tag_name>
@@ -74,11 +76,12 @@ kube-router generally only supports the current major.minor release. Patch relea
74
76
only created in exceptional cases. See the [supported versions](docs/upgrading.md#supported-versions) policy for
75
77
details.
76
78
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
82
85
83
86
Example:
84
87
@@ -96,32 +99,32 @@ official kube-router remote.
96
99
97
100
## Release Candidates
98
101
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.
100
103
101
104
## Release Build Process
102
105
103
106
Once the tag is pushed to GitHub, GitHub Actions will be triggered and several things will happen:
104
107
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)
109
112
(see `platforms` section in yaml) will be built and pushed to
110
113
[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)
115
118
and attach them to the draft release on GitHub
116
119
117
120
## After the release
118
121
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:
0 commit comments