Skip to content

Latest commit

 

History

History
147 lines (118 loc) · 4.3 KB

File metadata and controls

147 lines (118 loc) · 4.3 KB

kfpr release CLI

kfpr is the Kubeflow Pipelines release automation CLI. It can run the full checkpointed release flow or any individual release step.

Quick start

From the repository root:

python3 -m pip install -e release
kfpr --help
kfpr doctor --release-type patch --version 3.2.1 --fork-remote USER
kfpr run --dry-run --state-file /tmp/kfp-release-state.json

Without installing, run from source:

PYTHONPATH=release python3 -m kfpr.cli --help

Full release flow

kfpr run \
  --release-type patch \
  --version 3.2.1 \
  --fork-remote USER \
  --patch-prs 12345,12346 \
  --include-backend \
  --include-sdk

run stores prompt answers and completed steps in release-state.json by default. Pass --state-file to use a different checkpoint file. If the checkpoint already exists, run prints the saved status and asks before resuming; pass --force to resume without that prompt. For major and minor releases, pass --release-source-branch BRANCH to skip the source branch prompt.

Patch releases also update the persistent release-<major>.<minor> and kfp-kubernetes-<major>.<minor> documentation branches.

For --fork-remote, you can pass either a full remote URL or just your GitHub username. kfpr expands droctothorpe to https://github.com/droctothorpe/pipelines.git.

Individual steps

List the selected flow:

kfpr steps --release-type patch --include-backend --no-include-sdk
kfpr steps --diagram

Run one step without marking it complete:

kfpr run update-version-tags \
  --release-type patch \
  --version 3.2.1 \
  --fork-remote USER \
  --patch-prs 12345,12346 \
  --dry-run

Mark a step complete after it succeeds:

kfpr run update-version-tags \
  --release-type patch \
  --version 3.2.1 \
  --fork-remote USER \
  --patch-prs 12345,12346 \
  --done

Single-step commands do not update the checkpoint unless --done is passed. update-version-tags cuts <version>-update-version-tags from the release branch before committing version changes. When SDK release steps are enabled, this same PR also updates SDK package versions, requirements, docs versions, and sdk/RELEASE.md.

If you complete a step outside kfpr (for example, manually creating an already-existing release branch), mark that step done before resuming:

kfpr done prepare-release-branch --state-file release-state.json
kfpr run --state-file release-state.json

Use the exact step ID from kfpr steps or the list below.

Recovery helpers

kfpr status --state-file release-state.json
kfpr clear --state-file release-state.json
kfpr validate-state --state-file release-state.json
kfpr run watch-publish-images --state-file release-state.json
kfpr done update-version-tags --state-file release-state.json
kfpr reset-step update-version-tags --state-file release-state.json

status prints saved answers, completed steps, the next step, the resume command, and the active manual checklist when the next step needs external confirmation. merge-version-pr watches PR CI and fails as soon as a reported gate fails; after all reported gates complete successfully, it continues waiting for the PR to merge. watch-publish-images watches the latest image publication workflow for the saved release branch without dispatching a new workflow run.

confirm-rtd prompts for a Read the Docs API token, keeps it only in process memory, and uses it to activate release versions, trigger builds, wait for successful builds, and update project defaults. If the API call fails, kfpr asks whether to fall back to the manual checklist.

Commands

run
doctor
status
clear
validate-state
done
reset-step
steps
run preflight
run prepare-release-branch
run prepare-patch-branch
run cherry-pick-prs
run merge-cherry-pick-pr
run update-version-tags
run merge-version-pr
run publish-images
run create-sdk-tag
run publish-sdks
run create-kfp-kubernetes-docs-branch
run confirm-rtd
run create-sdk-release
run create-backend-release
run sync-master
run confirm-website-and-slack
run watch-publish-images

For the KFP 3.0 release, the confirm-website-and-slack checkpoint also requires the Kubeflow website installation and upgrade documentation to announce that Argo Workflows 3.x is unsupported, and requires the GitHub release notes to identify that removal as a breaking change.