mirror of
https://github.com/k3s-io/k3s.git
synced 2024-06-07 19:41:36 +00:00
36 lines
1.9 KiB
Markdown
36 lines
1.9 KiB
Markdown
|
# Release process
|
||
|
|
||
|
## Resulting artifacts
|
||
|
Creating a new release produces the following artifacts:
|
||
|
|
||
|
- Binaries (stored in the `release-<TAG>` directory) :
|
||
|
- `cni-plugins-<PLATFORM>-<VERSION>.tgz` binaries
|
||
|
- `cni-plugins-<VERSION>.tgz` binary (copy of amd64 platform binary)
|
||
|
- `sha1`, `sha256` and `sha512` files for the above files.
|
||
|
|
||
|
## Preparing for a release
|
||
|
1. Releases are performed by maintainers and should usually be discussed and planned at a maintainer meeting.
|
||
|
- Choose the version number. It should be prefixed with `v`, e.g. `v1.2.3`
|
||
|
- Take a quick scan through the PRs and issues to make sure there isn't anything crucial that _must_ be in the next release.
|
||
|
- Create a draft of the release note
|
||
|
- Discuss the level of testing that's needed and create a test plan if sensible
|
||
|
- Check what version of `go` is used in the build container, updating it if there's a new stable release.
|
||
|
- Update the vendor directory and Godeps to pin to the corresponding containernetworking/cni release. Create a PR, makes sure it passes CI and get it merged.
|
||
|
|
||
|
## Creating the release artifacts
|
||
|
1. Make sure you are on the master branch and don't have any local uncommitted changes.
|
||
|
1. Create a signed tag for the release `git tag -s $VERSION` (Ensure that GPG keys are created and added to GitHub)
|
||
|
1. Run the release script from the root of the repository
|
||
|
- `scripts/release.sh`
|
||
|
- The script requires Docker and ensures that a consistent environment is used.
|
||
|
- The artifacts will now be present in the `release-<TAG>` directory.
|
||
|
1. Test these binaries according to the test plan.
|
||
|
|
||
|
## Publishing the release
|
||
|
1. Push the tag to git `git push origin <TAG>`
|
||
|
1. Create a release on Github, using the tag which was just pushed.
|
||
|
1. Attach all the artifacts from the release directory.
|
||
|
1. Add the release note to the release.
|
||
|
1. Announce the release on at least the CNI mailing, IRC and Slack.
|
||
|
|