Skip to content

Commit b8ead62

Browse files
Updated release process (#4239)
Signed-off-by: Ciaran Johnston <[email protected]>
1 parent a3bc667 commit b8ead62

File tree

1 file changed

+11
-37
lines changed

1 file changed

+11
-37
lines changed

release/README.md

Lines changed: 11 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,16 @@
11
# Releasing
22

3-
## Steps
4-
53
To cut a new kpt release perform the following:
64

7-
- Ensure kpt is importing the latest dependent releases
8-
- [cli-utils](https://github.com/kubernetes-sigs/cli-utils/tree/master/release)
9-
- Within kustomize:
10-
[kyaml](https://github.com/kubernetes-sigs/kustomize/blob/master/releasing)
11-
- Within kustomize:
12-
[cmd/config](https://github.com/kubernetes-sigs/kustomize/blob/master/releasing)
13-
- Update `go.mod` file with correct versions of `cli-utils`, `kyaml`, and
14-
`cmd/config`
15-
- Run `make all` (which should update `go.sum` and run `go mod tidy`)
16-
- Create a `kpt` PR with previous `go.mod` and `go.sum` changes, and submit.
17-
[Example PR](https://github.com/kptdev/kpt/pull/594)
18-
- Fetch the latest master changes to a clean branch
19-
- `git checkout -b release`
20-
- `git fetch upstream`
21-
- `git reset --hard upstream/master`
22-
- Tag the commit
23-
- `git tag v1.0.0-(alpha|beta|rc).*`
24-
- `git push upstream v1.0.0-(alpha|beta|rc).*`
25-
- This will trigger a Github Action that will use goreleaser to make the
26-
release. The result will be a github release in the draft state and upload
27-
docker images to GCR.
28-
- Verify that the release looks good. If it does, publish the release through
29-
the github UI.
30-
- Update the Homebrew release
31-
- `go run ./release/formula/main.go <tag>` (example: `go run ./release/formula/main.go v1.0.0-beta.31`)
32-
- `git add . && git commit -m "update homebrew to <tag>"`
33-
- create a PR for this change and merge it
34-
- [example PR](https://github.com/kptdev/kpt/pull/331/commits/baf33d8ed214f2c5e106ec6e963ad736e5ff4d98#diff-d69e3adb302ee3e84814136422cbf872)
35-
36-
## Artifacts
5+
- Check that dependencies are up to date and that all required release content is in the main branch
6+
- Navigate to [the project release page](https://github.com/kptdev/kpt/releases) and select "draft new release"
7+
- Leave the target as "main", and create a new tag to match the release version
8+
- Versioning follows [semantic versioning rules](http://semver.org/)
9+
- Alpha and beta versions are used to make releases before content is fully stabilized
10+
- Increment the number after "alpha" or "beta" by one when making this type of release - e.g. v1.0.0-beta.58 could come after v1.0.0-beta.57
11+
- Release title should be left blank - it will be auto-filled from the tag
12+
- Click "Generate release notes" to auto-generate the content of the release. Edit this as appropriate to add extra context
13+
- If the release is an alpha or beta release and there is already a stable version available, the "set as a pre-release" check-box should be checked. Otherwise, leave it checked as "set as the latest release"
14+
- Check the "create a discussion for this release" check-box
15+
- Click "publish" and then verify that the github action has run and the artefacts have been produced
3716

38-
Release artifacts such as binaries and images will be built automatically by the
39-
Github Action. The binaries linked from the README.md docs will be automatically
40-
updated because they point to the `latest` binaries which are updated for tagged
41-
releases. Images created from the `main` branch will not be tagged with
42-
`latest`.

0 commit comments

Comments
 (0)