Closed michi-covalent closed 2 months ago
[x] Install gh and authenticate with GitHub by running gh auth login.
gh
gh auth login
[x] Install the latest Cilium release tool:
git clone https://github.com/cilium/release.git "$(go env GOPATH)/src/github.com/cilium/release" cd $(go env GOPATH)/src/github.com/cilium/release git checkout master && git pull && make sudo install release /usr/local/bin
[x] Define NEW_RELEASE and PREVIOUS_RELEASE environment variables. For example, if you are releasing a new Hubble CLI version based on Cilium 1.16.1 with the previous release being Cilium 1.16.0:
NEW_RELEASE
PREVIOUS_RELEASE
Cilium 1.16.1
Cilium 1.16.0
export NEW_RELEASE=1.16.1 export PREVIOUS_RELEASE=1.16.0
[x] Create a release prep branch:
git checkout main git pull origin main git switch -c pr/$USER/v$NEW_RELEASE-prep
[x] Update Cilium dependency:
go get github.com/cilium/cilium@${NEW_RELEASE} go mod tidy && go mod vendor && go mod verify git add go.mod go.sum vendor
[x] Prepare release notes:
GITHUB_TOKEN=$(gh auth token) release changelog --base v$PREVIOUS_RELEASE --head v$NEW_RELEASE --repo cilium/cilium --label-filter hubble-cli
[x] Modify CHANGELOG.md with the generated release notes:
CHANGELOG.md
$EDITOR CHANGELOG.md ... git add CHANGELOG.md
[x] Push the prep branch and open a Pull Request against main branch.
git commit -s -m "Prepare for v$NEW_RELEASE release" git push
Get the pull request reviewed and merged: https://github.com/cilium/hubble/pull/1477
[x] Update your local checkout:
git checkout main git pull origin main
[x] Set the commit you want to tag:
export COMMIT_SHA=
Usually this is the most recent commit on main, i.e.
main
export COMMIT_SHA=$(git rev-parse origin/main)
[x] Create a tag:
git tag -s -a "v$NEW_RELEASE" -m "v$NEW_RELEASE" $COMMIT_SHA
Validate that the tag looks ok:
git show "v$NEW_RELEASE"
Then push the tag:
git push origin "v$NEW_RELEASE"
[x] Ping hubble-maintainers team on Slack to get an approval to run Image Release Build workflow. This didn't get triggered. I opened a PR to fix the tag regex: https://github.com/cilium/hubble/pull/1480
hubble-maintainers
[x] Wait for the Create a release workflow to finish.
Create a release
[x] Find the release draft in the Releases page. Copy and paste release notes from CHANGELOG.md, and click on Publish release button.
Publish release
Hubble CLI v0.8.2 is released  Release notes and binaries: https://github.com/cilium/hubble/releases/tag/v0.8.2 Notable changes:
[x] (SKIPPING SINCE THIS IS A PRE_RELEASE) Update the Releases section of the README.md to point to the latest release.
README.md
[x] (SKIPPING SINCE THIS IS A PRE_RELEASE) Update stable.txt in the main branch:
stable.txt
git switch -c update-stable-txt main echo v$NEW_RELEASE > stable.txt git add README.md stable.txt git commit -s -m "Update stable release to $NEW_RELEASE" git push
and then open a pull request against the main branch.
name: Release a new version of Hubble CLI from main branch title: 'vX.Y.Z release'
[x] Install
gh
and authenticate with GitHub by runninggh auth login
.[x] Install the latest Cilium release tool:
git clone https://github.com/cilium/release.git "$(go env GOPATH)/src/github.com/cilium/release" cd $(go env GOPATH)/src/github.com/cilium/release git checkout master && git pull && make sudo install release /usr/local/bin
[x] Define
NEW_RELEASE
andPREVIOUS_RELEASE
environment variables. For example, if you are releasing a new Hubble CLI version based onCilium 1.16.1
with the previous release beingCilium 1.16.0
:export NEW_RELEASE=1.16.1 export PREVIOUS_RELEASE=1.16.0
[x] Create a release prep branch:
git checkout main git pull origin main git switch -c pr/$USER/v$NEW_RELEASE-prep
[x] Update Cilium dependency:
go get github.com/cilium/cilium@${NEW_RELEASE} go mod tidy && go mod vendor && go mod verify git add go.mod go.sum vendor
[x] Prepare release notes:
GITHUB_TOKEN=$(gh auth token) release changelog --base v$PREVIOUS_RELEASE --head v$NEW_RELEASE --repo cilium/cilium --label-filter hubble-cli
[x] Modify
CHANGELOG.md
with the generated release notes:$EDITOR CHANGELOG.md ... git add CHANGELOG.md
[x] Push the prep branch and open a Pull Request against main branch.
git commit -s -m "Prepare for v$NEW_RELEASE release" git push
Get the pull request reviewed and merged: https://github.com/cilium/hubble/pull/1477
[x] Update your local checkout:
git checkout main git pull origin main
[x] Set the commit you want to tag:
export COMMIT_SHA=
Usually this is the most recent commit on
main
, i.e.export COMMIT_SHA=$(git rev-parse origin/main)
[x] Create a tag:
git tag -s -a "v$NEW_RELEASE" -m "v$NEW_RELEASE" $COMMIT_SHA
Validate that the tag looks ok:
git show "v$NEW_RELEASE"
Then push the tag:
git push origin "v$NEW_RELEASE"
[x] Ping
hubble-maintainers
team on Slack to get an approval to run Image Release Build workflow. This didn't get triggered. I opened a PR to fix the tag regex: https://github.com/cilium/hubble/pull/1480[x] Wait for the
Create a release
workflow to finish.[x] Find the release draft in the Releases page. Copy and paste release notes from CHANGELOG.md, and click on
Publish release
button.Hubble CLI v0.8.2 is released  Release notes and binaries: https://github.com/cilium/hubble/releases/tag/v0.8.2 Notable changes:
[x] (SKIPPING SINCE THIS IS A PRE_RELEASE) Update the Releases section of the
README.md
to point to the latest release.[x] (SKIPPING SINCE THIS IS A PRE_RELEASE) Update
stable.txt
in the main branch:git switch -c update-stable-txt main echo v$NEW_RELEASE > stable.txt git add README.md stable.txt git commit -s -m "Update stable release to $NEW_RELEASE" git push
and then open a pull request against the
main
branch.