TiChi uses goreleaser to release in GitHub Actions, where the task compiles and packages the binary images.
-
Normal Release
- Fetch the latest code for upstream:
git fetch upstream
- Create tag:
git tag v1.5.12
- Push tag to upstream:
git push upstream --tags
- Triggering GitHub Actions for releasing
- Fetch the latest code for upstream:
-
Release exception, need to re-release
- Delete local code tag:
git tag -d v1.5.12
- Delete upstream tag:
git push --delete upstream v1.5.12
- Delete GitHub release drafts (if any)
- Fix the issue and re-run the normal releasing process
- Delete local code tag:
We use scripts to automate deployment and upgrades. When a pull request for bump version is merged, we use a prow job to run the script to complete the automatic deployment.
These tasks are defined in the following prow jobs:
In addition, for the test-infra components, we use a bot for the automatic bump, also defined in prow jobs:
When we bump test-infra components we need to check ANNOUNCEMENTS.md to see if the update has Breaking Changes, and we need to test the development environment and see how the cluster is running before upgrading the prod environment.