pipelines/test/release
Chen Sun 8645cac9a6
fix(release): Update release image with the latest api-generator (#9198)
* Update release image with the latest api-generator

* Add note to keep api-generator image in sync between dev and release
2023-04-21 16:34:41 +00:00
..
Dockerfile.release fix(release): Update release image with the latest api-generator (#9198) 2023-04-21 16:34:41 +00:00
Makefile fix(release): Update release image with the latest api-generator (#9198) 2023-04-21 16:34:41 +00:00
README.md revert: feat: change release tags to vX.Y.Z. Part of #5954 (#6034) 2021-07-14 14:43:56 +08:00
bump-version-docker.sh fix(release): Update release image with the latest api-generator (#9198) 2023-04-21 16:34:41 +00:00
bump-version-in-place.sh fix(release): Add v1 and v2 proto generation (#8819) 2023-02-07 11:52:55 -08:00
check-release-needed-tools.sh fix(release): Update release image with the latest api-generator (#9198) 2023-04-21 16:34:41 +00:00
release.sh revert: feat: change release tags to vX.Y.Z. Part of #5954 (#6034) 2021-07-14 14:43:56 +08:00

README.md

KFP Release tools

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

Dev guide

Take a look at the ./Makefile, all the rules there are entrypoints for dev activities.

Implementation Details

The script ./release.sh is a wrapper

  1. Clones github.com/kubeflow/pipelines repo to a temporary path.
  2. Updates ../../VERSION to TAG.
  3. Checkout the release branch.
  4. Runs ./bump-version-docker.sh.
  5. Runs git commit and tag.
  6. After confirming with user input, pushes to upstream branch.

The script ./bump-version-docker.sh

  1. 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:

  1. Generate ./CHANGELOG.md using commit history.
  2. Regenerate open api specs based on proto files.
  3. Regenerate kfp-server-api python package.
  4. 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.