kops/docs/development/release.md

1.6 KiB

Release Process

The kops project is released on an as-needed basis. The process is as follows:

  1. An issue is proposing a new release with a changelog since the last release
  2. All OWNERS must LGTM this release
  3. An OWNER runs git tag -s $VERSION and inserts the changelog and pushes the tag with git push $VERSION
  4. The release issue is closed
  5. An announcement email is sent to kubernetes-dev@googlegroups.com with the subject [ANNOUNCE] kops $VERSION is released

Update versions

See 1.5.0-alpha4 commit for example

  • Edit makefile
  • If updating dns-controller: bump version in Makefile, code, manifests, and tests

Check builds OK

make ci

Push new protokube image if needed

make dns-controller-push DNS_CONTROLLER_TAG=1.5.1 DOCKER_REGISTRY=kope

Upload new version

# export AWS_PROFILE=??? # If needed
make upload S3_BUCKET=s3://kubeupv2

Tag new version

export TAG=1.5.0-alpha4
git tag ${TAG}
git push --tags

Upload to github

Manually create a release on github & upload, but soon we'll publish shipbot which automates this...

bazel run //cmd/shipbot -- -tag ${TAG}

Compile release notes

e.g. git log 1.5.0-alpha2..1.5.0-alpha3 > /tmp/relnotes

On github

  • Download release
  • Validate it
  • Add notes
  • Publish it

Update the alpha channel and/or stable channel

Once we are satisfied the release is sound:

  • Bump the kops recommended version in the alpha channel

Once we are satisfied the release is stable:

  • Bump the kops recommended version in the stable channel