For full release documentation, please read RELEASE.md.
To do a release:
TAG=<TAG>
BRANCH=<BRANCH>
make release
Example, release in release branch:
TAG=1.4.0 BRANCH=release-1.4 make release
Example, release an RC (release candidate) in master branch:
TAG=2.0.0-rc.1 BRANCH=master make release
Take a look at the ./Makefile
, all the rules there are entrypoints for dev activities.
The script ./release.sh
is a wrapper
- Clones github.com/kubeflow/pipelines repo to a temporary path.
- Updates
../../VERSION
toTAG
. - Checkout the release branch.
- Runs
./bump-version-docker.sh
. - Runs git commit and tag.
- After confirming with user input, pushes to upstream branch.
The script ./bump-version-docker.sh
- Runs
./bump-version-in-place.sh
in gcr.io/ml-pipeline-test/release:latest image.
The script ./bump-version-in-place.sh
does the following:
- Generate
./CHANGELOG.md
using commit history. - Regenerate open api specs based on proto files.
- Regenerate
kfp-server-api
python package. - Update all version refs in this repo to
./VERSION
by calling each of the./**/hack/release.sh
scripts. The individual scripts are responsible for updating version refs to their own folder.