This repository has been archived by the owner on May 6, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 385
Release Process
Mateusz Szostok edited this page Sep 16, 2019
·
33 revisions
This document is for core maintainers who will release a new version of the service catalog. Releases are listed on the milestones page.
The step-by-step instructions below should be followed to release a new version of service-catalog.
- Ensure that all PRs in the milestone are merged, or move them out to the next appropriate open milestone
- Ensure that all issues in the milestone are closed or moved, as appropriate. Any open issues not automatically closed by PRs in the milestone should be manually closed with an explanatory comment
- Close the milestone that will be released. And create a new milestone for the next release, if appropriate.
- Submit a single pull request to do all of the following:
- Updates all documentation (i.e. chart README for catalog and ups-broker and test-broker to reference the new tagged images you are about to create
- Updates all Helm chart values to reference the new tagged images you are about to create (i.e. the
values.yaml
in the catalog chart and ups-broker chart) and test-broker. - Update the chart version in the Chart.yaml
- After that PR passes CI, you can merge it w/o review
-
Create a new GitHub release
- Use
v$MILESTONE
as the tag name (for example, if the milestone is0.0.1
, the tag name should bev0.0.1
) - Reference the commit of the PR you just merged (not
master
) as the "Target" - In the notes for the release you can include a list of key PRs that have been merged. The github query to get the list of commits, which also shows the PRs, looks similar to this:
https://github.com/kubernetes-incubator/service-catalog/compare/v0.0.15...master
Just replace "v0.0.15" with the name of the previous release.
A similar local command to get the first line message text of those commits is
git log --pretty=format:%s HEAD...v0.1.9 | tail -r
- Add links to binaries the release notes for svcat
VERSION=v0.1.20 macOS: https://download.svcat.sh/cli/${VERSION}/darwin/amd64/svcat Windows: https://download.svcat.sh/cli/${VERSION}/windows/amd64/svcat.exe Linux: https://download.svcat.sh/cli/${VERSION}/linux/amd64/svcat
- Use
- Travis will automatically build and push Docker images to our quay.io repository with the newly released Git tag.
#!/bin/sh
# from mhb
# cargo install fastmod
# cargo install semver-binary
# get the tags
# get the last tag by approx semver
# cut off the 'v' at the beginning
PREV_VERSION=$(git tag --sort=version:refname | tail -n 1 | cut --characters=2- )
VERSION=$(semver-binary -p ${PREV_VERSION})
fastmod --accept-all --dir charts -e md,yaml ${PREV_VERSION} ${VERSION}
# print out the release notes
echo '# SVCat Binaries'
echo macOS: https://download.svcat.sh/cli/v${VERSION}/darwin/amd64/svcat
echo Windows: https://download.svcat.sh/cli/v${VERSION}/windows/amd64/svcat.exe
echo Linux: https://download.svcat.sh/cli/v${VERSION}/linux/amd64/svcat
echo '# Changes'
git log --pretty=format:%s HEAD...v${PREV_VERSION} | sed '$ a \' | tac
Email the release notes out to the mailing list