Release Process
The guide describes how to release a new version of the api-syncagent.
Prerequisites
- Have all desired changes merged and/or cherrypicked into the appropriate release branch.
 
Minor Release
Minor releases (0.x) are tagged directly on the main branch and the v0.X.0
tag represents where the corresponding release/v0.X branch branches off.
- Checkout the desired 
mainbranch commit. - Tag the main module: 
git tag -m "version 0.X" v0.X.0 - Tag the SDK module: 
git tag -m "SDK version 0.X" sdk/v0.X.0 - Push the tags: 
git push upstream v0.X.0 sdk/v0.X.0 - Create the release branch: 
git checkout -B release-v0.X - Push the release branch: 
git push -u upstream release-v0.X 
Once the tag and branch have been pushed, the documentation has to be manually updated to include the new minor release.
- Navigate to https://github.com/kcp-dev/api-syncagent/actions/workflows/docs-gen-and-push.yaml
 - Run the workflow manually on the new release branch.
 
Within a few minutes of the action finishing, the new branch should show up on https://docs.kcp.io/api-syncagent/.
Patch Releases
Patch releases (v0.x.y) are tagged with in a release branch.
- Checkout the desired 
release/v0.Xbranch commit. - Tag the main module: 
git tag -m "version 0.X.Y" v0.X.Y - Tag the SDK module: 
git tag -m "SDK version 0.X.Y" sdk/v0.X.Y - Push the tags: 
git push upstream v0.X.Y sdk/v0.X.Y