Releases are deliberately tag-driven. A maintainer creates a concrete v0.x.y tag only after the master branch CI gate and Security gate are green.
-
Confirm the working tree is clean and the target commit is on
master. -
Review the self-hosting upgrade impact, especially migrations and configuration changes.
-
Create and push an annotated release tag:
git tag -a v0.1.0 -m "VersionTracker v0.1.0" git push origin v0.1.0 -
Verify the Release workflow. It repeats the complete release validation (frontend build, application tests, and dependency audits) for the immutable tag, builds and publishes the container with provenance and an SBOM, smoke-tests the published image by digest, and creates the GitHub Release.
-
Check the generated release notes. Add a concise Upgrade notes section that calls out migrations, changed environment variables, deprecations, and any manual operator action.
Each release produces:
ghcr.io/soerennb/version-tracker:v0.x.yfor a precise deployment.ghcr.io/soerennb/version-tracker:v0.xfor the current patch in a minor line.ghcr.io/soerennb/version-tracker:latestfor evaluation only.
Operators should deploy the precise tag or the image digest included in the GitHub Release.