A minor release is e.g. v1.11.0
.
A minor release requires:
Set environment variables for use in subsequent steps:
export CONTOUR_RELEASE_VERSION=v1.11.0
export CONTOUR_RELEASE_VERSION_MAJOR=1
export CONTOUR_RELEASE_VERSION_MINOR=11
export CONTOUR_UPSTREAM_REMOTE_NAME=upstream
export CONTOUR_OPERATOR_UPSTREAM_REMOTE_NAME=upstream
main
, ensure it’s up to date, and ensure you have a clean working directory.main
.Generate a new set of versioned docs:
go run ./hack/release/prepare-release.go $CONTOUR_RELEASE_VERSION
/site/_resources/compatibility-matrix.md
)./site/_resources/upgrading.md
).main
.Note: the PR will probably fail the siteproof check due to #2032. It’s a good idea to scan the CI log for any true issues.
main
, ensure it’s up to date, and ensure you have a clean working directory.Create a local release branch:
git checkout -b release-${CONTOUR_RELEASE_VERSION_MAJOR}.${CONTOUR_RELEASE_VERSION_MINOR}
Push the branch to github.com/projectcontour/contour
:
git push --set-upstream ${CONTOUR_UPSTREAM_REMOTE_NAME} release-${CONTOUR_RELEASE_VERSION_MAJOR}.${CONTOUR_RELEASE_VERSION_MINOR}
Update the deployment YAML and create a local tag:
./hack/release/make-release-tag.sh main $CONTOUR_RELEASE_VERSION
Push the branch to github.com/projectcontour/contour
:
git push ${CONTOUR_UPSTREAM_REMOTE_NAME} release-${CONTOUR_RELEASE_VERSION_MAJOR}.${CONTOUR_RELEASE_VERSION_MINOR}
Push the tag to github.com/projectcontour/contour
:
git push ${CONTOUR_UPSTREAM_REMOTE_NAME} ${CONTOUR_RELEASE_VERSION}
main
, ensure it’s up to date, and ensure you have a clean working directory.Create a local release branch:
git checkout -b release-${CONTOUR_RELEASE_VERSION_MAJOR}.${CONTOUR_RELEASE_VERSION_MINOR}
Push the branch to github.com/projectcontour/contour-operator
:
git push --set-upstream ${CONTOUR_OPERATOR_UPSTREAM_REMOTE_NAME} release-${CONTOUR_RELEASE_VERSION_MAJOR}.${CONTOUR_RELEASE_VERSION_MINOR}
Update the deployment YAML and create a local tag:
./hack/release/make-release-tag.sh main $CONTOUR_RELEASE_VERSION
Push the branch to github.com/projectcontour/contour-operator
:
git push ${CONTOUR_OPERATOR_UPSTREAM_REMOTE_NAME} release-${CONTOUR_RELEASE_VERSION_MAJOR}.${CONTOUR_RELEASE_VERSION_MINOR}
Push the tag to github.com/projectcontour/contour-operator
:
git push ${CONTOUR_OPERATOR_UPSTREAM_REMOTE_NAME} ${CONTOUR_RELEASE_VERSION}
main
, ensure it’s up to date, and ensure you have a clean working directory.main
.netlify.toml
to redirect quickstart links to the new release branch.main
.Now you have a tag pushed to Github, go to the release tab on github, select the tag and write up your release notes.
Note: Filter on the Github label “release note” and Github milestone which should include any PRs which should be called out in the release notes.
If you encountered any problems or areas for improvement while executing the release, file issues before you forget.
A patch release is e.g. v1.11.1
.
A patch release requires:
Set environment variables for use in subsequent steps:
export CONTOUR_RELEASE_VERSION=v1.11.1
export CONTOUR_RELEASE_VERSION_MAJOR=1
export CONTOUR_RELEASE_VERSION_MINOR=11
export CONTOUR_PREVIOUS_VERSION=v1.11.0
export CONTOUR_UPSTREAM_REMOTE_NAME=upstream
export CONTOUR_OPERATOR_UPSTREAM_REMOTE_NAME=upstream
main
to backport.release-${CONTOUR_RELEASE_VERSION_MAJOR}.${CONTOUR_RELEASE_VERSION_MINOR}
), ensure it’s up to date, and ensure you have a clean working directory.Cherry-pick each commit from Step 1, fixing any conflicts as needed:
# repeat for each SHA
git cherry-pick <SHA>
main
, ensure it’s up to date, and ensure you have a clean working directory.main
.Generate a new set of versioned docs:
go run ./hack/release/prepare-release.go $CONTOUR_PREVIOUS_VERSION $CONTOUR_RELEASE_VERSION
/site/_resources/compatibility-matrix.md
)./site/_resources/upgrading.md
).main
.Check out the release branch, ensure it’s up to date, and ensure you have a clean working directory.
Update the deployment YAML and create a local tag:
./hack/release/make-release-tag.sh $CONTOUR_PREVIOUS_VERSION $CONTOUR_RELEASE_VERSION
Push the branch to github.com/projectcontour/contour
:
git push ${CONTOUR_UPSTREAM_REMOTE_NAME} release-${CONTOUR_RELEASE_VERSION_MAJOR}.${CONTOUR_RELEASE_VERSION_MINOR}
Push the tag to github.com/projectcontour/contour
:
git push ${CONTOUR_UPSTREAM_REMOTE_NAME} ${CONTOUR_RELEASE_VERSION}
main
to backport.release-${CONTOUR_RELEASE_VERSION_MAJOR}.${CONTOUR_RELEASE_VERSION_MINOR}
), ensure it’s up to date, and ensure you have a clean working directory.Cherry-pick each commit from Step 1, fixing any conflicts as needed:
# repeat for each SHA
git cherry-pick <SHA>
Commit all changes, push the branch, and PR it into the release branch.
Check out the release branch, ensure it’s up to date, and ensure you have a clean working directory.
Update the deployment YAML and create a local tag:
./hack/release/make-release-tag.sh $CONTOUR_PREVIOUS_VERSION $CONTOUR_RELEASE_VERSION
Push the branch to github.com/projectcontour/contour-operator
:
git push ${CONTOUR_OPERATOR_UPSTREAM_REMOTE_NAME} release-${CONTOUR_RELEASE_VERSION_MAJOR}.${CONTOUR_RELEASE_VERSION_MINOR}
Push the tag to github.com/projectcontour/contour-operator
:
git push ${CONTOUR_OPERATOR_UPSTREAM_REMOTE_NAME} ${CONTOUR_RELEASE_VERSION}
Now you have a tag pushed to Github, go to the release tab on github, select the tag and write up your release notes.
Note: Filter on the Github label “release note” and Github milestone which should include any PRs which should be called out in the release notes.
If you encountered any problems or areas for improvement while executing the release, file issues before you forget.
Read our getting started documentation.