2.1 KiB
Releasing Kubeflow Pipelines
WIP: this document is still incomplete.
Common Prerequisites
- OS: Linux (MacOS not supported yet due to different behavior of sed)
- Permissions needed
- Can create a branch in github.com/kubeflow/pipelines
- Tools that should be in your
$PATH - Preparations
- Clone github.com/kubeflow/pipelines repo into
$KFP_REPO cd $KFP_REPO
- Clone github.com/kubeflow/pipelines repo into
Cutting a release branch
- Choose a good commit on master branch with commit hash as
$COMMIT_SHA - Choose the next release branch's
$MINOR_VERSIONin formatx.y, e.g.1.0,1.1... - Make a release branch of format
release-$MINOR_VERSION, e.g.release-1.0,release-1.1. Branch from the commit and push to kubeflow pipelines upstream repo.git checkout $COMMIT_SHA git checkout -b release-$MINOR_VERSION git push upstream HEAD
Releasing from release branch
-
Choose the release's complete
$VERSIONfollowing semantic versioning, e.g.1.0.0-rc.11.0.0-rc.21.0.01.0.1- ...
-
Update all version refs in release branch by
./hack/release.sh $VERSION release-$MINOR_VERSIONIt will prompt you whether to push it to release branch. Press
yand hitEnter.Note, the script will clone kubeflow/pipelines repo into a temporary location on your computer, make those changes and attempt to push to upstream, so that it won't interfere with your current git repo.
TODO: this script should also regenerate
- changelog
- python api client
-
Wait and make sure the cloudbuild job that builds all images in gcr.io/ml-pipeline-test succeeded for above commit. Then submit the second cloudbuild job that copies these images to gcr.io/ml-pipeline.
TODO: we should have an automation KFP cluster, and the waiting and submiting second cloudbuild task should be automated.
-
Release
kfp-server-apiandkfppython packages on pypi. -
Create a github release using
$VERSIONgit tag, fill in the description.