~Change directory to the local copy of Cilium repository.~
[x] Execute release --current-version 1.16.0 --next-dev-version 1.16.1 to
automatically move any unresolved issues/PRs from old release project
into the new project. The release binary is located in the
current repository.
⚠️ This command is broken after GitHub disabled projects.
[x] Push a PR including the changes necessary for the new release:
~Pull latest changes from the branch being released~
[x] The next step will generate a CHANGELOG.md that will not be correct.
That is expected, and it is fixed with a follow-up step. Don't worry.
[x] 🆕 ./release start --steps 2 --target-version v1.16.0 --repo-dir /var/git/cilium-1.16 --dry-run --previous-version v1.15.7
⚠️ Even with --dry-run, this pushed the PR before I could complete the following steps. Furthermore, the steps below with "⚠️" are manual steps not covered by current release tool implementation. Filed https://github.com/cilium/release/issues/245 .
~Run ../release/internal/start-release.sh 1.16.0 <GH-PROJECT> 1.15~
~Note that this script produces some files at the root of the Cilium
repository, and that these files are required at a later step for
tagging the release.~
[x] ⚠️rm CHANGELOG.md
[x] ⚠️ Regenerate the log since the previous release with prep-changelog.sh <last-patch-release> v1.16.0
[x] ⚠️ Check and edit the CHANGELOG.md to ensure all PRs have proper release notes
[x] ⚠️ Edit the v1.16.0-changes.txt files locally to replace the text with "See CHANGELOG.md for more details"
[x] ⚠️ Add the 'stable' tag as part of the GitHub workflow and remove the
'stable' tag from the last stable branch.
(Compared vs v1.15.0 to do this manually)
[x] Commit all changes with title Prepare for release v1.16.0
[x] Get someone to review the PR. Do not trigger the full CI suite, but
wait for the automatic checks to complete. Merge the PR.
https://github.com/cilium/cilium/pull/33994
[x] Set the default version and mark the EOL version as active, and
hidden and configure the new minor version as active and not
hidden in active versions.
⚠️ The change here doesn't automatically show up in git add --patch, maybe because it's binary or is part of a .gitignore. Had to specifically add this file by name to include it in the PR.
[x] Notify #development on Slack that deprecated features may now be removed.
[ ] This is the list of links for known external installers that depend on
the release process. Ideally, work toward updating external tools and
guides to point to the new Cilium version. If you find where to submit
the update, please add the relevant links to this template.
Setup preparation
GITHUB_TOKEN
that has access to the repository~GOPATH
environment variable is set and pointing to the relevant path~[x] Make sure the Cilium helm charts and release repositories are installed locally:
git clone https://github.com/cilium/charts.git "$GOPATH/src/github.com/cilium/charts"
git clone https://github.com/cilium/release.git "$GOPATH/src/github.com/cilium/release"
[x] If you already have the repo checked out, make sure the
release
binary is up to date:git checkout master && git pull && make
Pre-release
Starting v1.16.0 release process :ship:
./release start --steps 1-pre-check --target-version v1.16.0 --repo-dir /var/git/cilium-1.16 --dry-run
release --current-version 1.16.0 --next-dev-version 1.16.1
to automatically move any unresolved issues/PRs from old release project into the new project. Therelease
binary is located in the current repository. ⚠️ This command is broken after GitHub disabled projects.CHANGELOG.md
that will not be correct. That is expected, and it is fixed with a follow-up step. Don't worry../release start --steps 2 --target-version v1.16.0 --repo-dir /var/git/cilium-1.16 --dry-run --previous-version v1.15.7
⚠️ Even with --dry-run, this pushed the PR before I could complete the following steps. Furthermore, the steps below with "⚠️" are manual steps not covered by current release tool implementation. Filed https://github.com/cilium/release/issues/245 .../release/internal/start-release.sh 1.16.0 <GH-PROJECT> 1.15
~ ~Note that this script produces some files at the root of the Cilium repository, and that these files are required at a later step for tagging the release.~rm CHANGELOG.md
prep-changelog.sh <last-patch-release> v1.16.0
CHANGELOG.md
to ensure all PRs have proper release notesv1.16.0-changes.txt
files locally to replace the text with "See CHANGELOG.md for more details"Prepare for release v1.16.0
../release/internal/submit-release.sh
)v1.16.0
,1.16.0
)../release/internal/tag-release.sh
.~make -C install/kubernetes/ check-docker-images
../release/internal/post-release.sh URL
to fetch the image digests and submit a PR to update these, use theURL
of the GitHub run here~v1.16.0
release.~./release start --steps 5 --target-version v1.16.0 --repo-dir /var/git/cilium-1.16 --previous-version v1.15.7 --charts-repo-dir /var/git/cilium-charts
Post-release
../release/internal/bump-readme.sh
~.github/maintainers-little-helper.yaml
so that upcoming PRs are tracked correctly for the next release.~echo 1.16.0 > stable.txt
.v1.16.0
so this step needs updatingecho '{"results":[{"slug":"v1.16"}]}' > Documentation/_static/stable-version.json
.git add --patch
, maybe because it's binary or is part of a .gitignore. Had to specifically add this file by name to include it in the PR.