Release Process
The project uses Changie for changelog management and GoReleaser for automated releases.
Commands
changie new # create a new changelog fragment
changie batch {version} # batch fragments into a version file
changie merge # merge into CHANGELOG.md
Application Release
- Prepare changelog:
changie new→changie batch v0.x.0→changie merge - Commit and push to
main - Create and push a tag:
git tag v0.x.0 && git push origin v0.x.0 - GitHub Actions runs
.github/workflows/release.yaml - GoReleaser builds binaries, Docker images, and Homebrew formula
Artifacts
- Binaries: darwin/linux/windows (amd64, arm64) via GitHub Releases
- Docker:
ghcr.io/skyoo2003/kvs:{tag}-alpine - Homebrew:
skyoo2003/tap/kvs
Documentation Site
The Hugo documentation site is deployed automatically to skyoo2003.github.io/kvs on every push to main that touches content/, layouts/, static/, or documentation-related files.