This doc covers the release process for the functions in the kpt-functions-catalog repo.
- Checking the CI badge status on top of the repo's README page. If the CI is failing on the master, we need to fix it before doing a release.
- Go to the releases pages in your browser.
- Click
Draft a new release
to create a new release for a function. The tag version format should be{language}/{function-name}/{semver}
. e.g.go/set-namespace/v1.2.3
andts/kubeval/v2.3.4
. The release name should be{funtion-name} {semver}
. The release notes for this function should be in the body. - Click
Publish release
button. - Send an announcement email in the kpt users google group.
After creating a release, the docs for the function should be updated to reflect
the latest patch version. A script has been created to automate this process.
The RELEASE_BRANCH
branch should already exist in the repo and a tag should
be created on the releases pages. RELEASE_BRANCH
is in the form of
${FUNCTION_NAME}/v${MAJOR_VERSION}.${MINOR_VERSION}
.
For example set-namespace/v0.3
, kubeval/v0.1
, etc.
- Setup the release branch
Release branch should have existed in the upstream repo in the form of
<FUNCTION_NAME>/v<MAJOR>.<MINOR>
. Let's takeset-namespace/v0.4
as an example. You should replace that to your RELEASE_BRANCH.> export RELEASE_BRANCH=set-namespace/v0.4
- Clean up the local branch The release script needs to run in the local . To avoid git ref conflicts, we suggest you delete your local branch OR make it up to date with the remote
> git branch -D ${RELEASE_BRANCH}
- Fetch the upstream repository
Your
upstream
repo should point to the official kpt-functions-catalog. Verify your git remote is set as below
> git remote -v | grep upstream
upstream [email protected]:GoogleContainerTools/kpt-functions-catalog.git (fetch)
upstream [email protected]:GoogleContainerTools/kpt-functions-catalog.git (push)
# Fetch the latest upstream repo
> git fetch upstream
- Run the doc updating script.
git checkout remotes/upstream/master
RELEASE_BRANCH=${RELEASE_BRANCH} make update-function-docs
- Send out a Pull Request.
Your local git reference is now pointing to the local RELEASE BRANCH.
A new git commit is auto-generated which contains the function document referring to the latest function version in the form of
<FUNCTION_NAME>/v<MAJOR>.<MINOR>.<PATCH>
You should be ready to submit the Pull Request against the upstream <RELEASE_BRANCH>.
> git push -f origin ${RELEASE_BRANCH}