-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ upstream commit 5388518 ] Signed-off-by: Joe Stringer <joe@cilium.io> Signed-off-by: Michal Rostecki <mrostecki@opensuse.org>
- Loading branch information
1 parent
d7c4aa5
commit ceb6a57
Showing
6 changed files
with
439 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
--- | ||
name: Release a new version of Cilium | ||
about: Create a checklist for an upcoming release | ||
title: 'vX.Y.Z release' | ||
labels: kind/release | ||
assignees: '' | ||
|
||
--- | ||
|
||
## Pre-release | ||
|
||
- [ ] Create a [new project] for the next release version | ||
- [ ] Add build targets for the new release on [Docker Hub] | ||
- All versions: | ||
- [cilium](https://hub.docker.com/repository/docker/cilium/cilium/builds/edit) | ||
- [operator](https://hub.docker.com/repository/docker/cilium/operator/builds/edit) | ||
- [docker-plugin](https://hub.docker.com/repository/docker/cilium/docker-plugin/builds/edit) | ||
- Cilium v1.8 or later: | ||
- [operator-generic](https://hub.docker.com/repository/docker/cilium/operator-generic/builds/edit) | ||
- [operator-aws](https://hub.docker.com/repository/docker/cilium/operator-aws/builds/edit) | ||
- [operator-azure](https://hub.docker.com/repository/docker/cilium/operator-azure/builds/edit) | ||
- [hubble-relay](https://hub.docker.com/repository/docker/cilium/hubble-relay/builds/edit) | ||
- [ ] Check that there are no [release blockers] for the targeted release version | ||
- [ ] Ensure that outstanding [backport PRs] are merged | ||
- [ ] Consider building new [cilium-runtime images] and bumping the base image | ||
versions on this branch | ||
- [ ] Move any unresolved issues/PRs from old release project into the newly | ||
created release project | ||
- [ ] Push a PR including the changes necessary for the new release: | ||
- [ ] Pull latest branch | ||
- [ ] Run `contrib/release/start-release.sh' | ||
- [ ] (If applicable) Update the `cilium_version` and `cilium_tag` in | ||
`examples/getting-started/Vagrantfile` | ||
- [ ] Commit all changes with title `Prepare for release vX.Y.Z` | ||
- [ ] Submit PR (`contrib/release/submit-release.sh`) | ||
- [ ] Merge PR | ||
- [ ] Create and push *both* tags to GitHub (`vX.Y.Z`, `X.Y.Z`) | ||
- Pull latest branch locally and run `contrib/release/tag-release.sh` | ||
- [ ] Wait for docker builds to complete | ||
- [cilium](https://hub.docker.com/repository/docker/cilium/cilium/builds) | ||
- [operator](https://hub.docker.com/repository/docker/cilium/operator/builds) | ||
- [docker-plugin](https://hub.docker.com/repository/docker/cilium/docker-plugin/builds) | ||
- [ ] Create helm charts artifacts in [Cilium charts] repository using | ||
[cilium helm release tool] for both the `vX.Y.Z` release and `vX.Y` branch | ||
& push to repository | ||
- [ ] Run sanity check of Helm install using connectivity-check script. | ||
Suggested approach: Follow the full [GKE getting started guide]. | ||
- [ ] Check draft release from [releases] page and publish the release | ||
- [ ] Announce the release in #general on Slack (only [@]channel for vX.Y.0) | ||
|
||
## Post-release | ||
|
||
- [ ] Prepare post-release changes to master branch using `contrib/release/bump-readme.sh` | ||
- [ ] Update the `stable` tags for each Cilium image on Docker Hub (if applicable) | ||
- [ ] Update external tools and guides to point to the new Cilium version: | ||
- [ ] [kops] | ||
- [ ] [kubespray] | ||
|
||
|
||
[release blockers]: https://github.com/cilium/cilium/labels/priority%2Frelease-blocker | ||
[backport PRs]: https://github.com/cilium/cilium/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+backports | ||
[new project]: https://github.com/cilium/cilium/projects/new | ||
[Cilium release-notes tool]: https://github.com/cilium/release | ||
[Docker Hub]: https://hub.docker.com/orgs/cilium/repositories | ||
[Cilium charts]: https://github.com/cilium/charts | ||
[releases]: https://github.com/cilium/cilium/releases | ||
[Stable releases]: https://github.com/cilium/cilium#stable-releases | ||
[kops]: https://github.com/kubernetes/kops/ | ||
[kubespray]: https://github.com/kubernetes-sigs/kubespray/ | ||
[cilium helm release tool]: https://github.com/cilium/charts/blob/master/prepare_artifacts.sh | ||
[GKE getting started guide]: https://docs.cilium.io/en/stable/gettingstarted/k8s-install-gke/ | ||
[cilium-runtime images]: https://quay.io/repository/cilium/cilium-runtime |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
#!/bin/bash | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# Copyright 2020 Authors of Cilium | ||
|
||
DIR=$(dirname $(readlink -ne $BASH_SOURCE)) | ||
source $DIR/lib/common.sh | ||
source $DIR/../backporting/common.sh | ||
|
||
RELEASE_TOOL_PATH="${RELEASE_TOOL_PATH:-$GOPATH/src/github.com/cilium/release}" | ||
RELNOTES="$RELEASE_TOOL_PATH/release" | ||
RELNOTESCACHE="release-state.json" | ||
|
||
usage() { | ||
logecho "usage: $0 <OLD-VERSION> <NEW-VERSION>" | ||
logecho "OLD-VERSION Previous release version for comparison" | ||
logecho "NEW-VERSION Target release version" | ||
logecho | ||
logecho "--help Print this help message" | ||
} | ||
|
||
handle_args() { | ||
if ! common::argc_validate 2; then | ||
usage 2>&1 | ||
common::exit 1 | ||
fi | ||
|
||
if [[ "$1" = "--help" ]] || [[ "$1" = "-h" ]]; then | ||
usage | ||
common::exit 0 | ||
fi | ||
|
||
if ! echo "$1" | grep -q "[0-9]\+\.[0-9]\+\.[0-9]\+"; then | ||
usage 2>&1 | ||
common::exit 1 "Invalid OLD-VERSION ARG \"$1\"; Expected X.Y.Z" | ||
fi | ||
|
||
if ! echo "$2" | grep -q "[0-9]\+\.[0-9]\+\.[0-9]\+[-rc0-9]*"; then | ||
usage 2>&1 | ||
common::exit 1 "Invalid NEW-VERSION ARG \"$1\"; Expected X.Y.Z[-rcW]" | ||
fi | ||
} | ||
|
||
main() { | ||
handle_args "$@" | ||
|
||
local old_version="$(echo $1 | sed 's/^v//')" | ||
local ersion="$(echo $2 | sed 's/^v//')" | ||
local version="v$ersion" | ||
|
||
logecho "Generating CHANGELOG.md" | ||
rm -f $RELNOTESCACHE | ||
echo -e "# Changelog\n\n## $version" > $version-changes.txt | ||
$RELNOTES --base $old_version --head $(git rev-parse HEAD) >> $version-changes.txt | ||
cp $version-changes.txt CHANGELOG-new.md | ||
if [[ -e CHANGELOG.md ]]; then | ||
tail -n+2 CHANGELOG.md >> CHANGELOG-new.md | ||
fi | ||
mv CHANGELOG-new.md CHANGELOG.md | ||
logecho "Generated CHANGELOG.md" | ||
} | ||
|
||
main "$@" |
Oops, something went wrong.