Deployment
This page reflects the current release flow in the repository.
Old deploy.sh examples and GIF-based demos are obsolete.
Release Trigger
Releases are tag-driven.
A release starts when a Git tag is pushed (for example v2.3.1 or v2.4.0-rc.1).
Recommended Tag Creation
Use the helper script:
./scripts/dev/release-tag.sh
The script checks for a clean working tree, fetches tags, proposes version increments, and pushes v<version>.
Manual alternative:
git tag v2.3.1
git push origin v2.3.1
CI Pipeline Behavior
In .gitlab-ci.yml the release flow is:
release:tagruns for tag pipelines and callsgoreleaser release --clean.- Artifacts are published from
dist/. docs:triggerruns afterrelease:tagonly for strict SemVer tags (vX.Y.Z).
That means pre-release tags (for example v2.4.0-rc.1) create release artifacts, but do not trigger the docs pipeline.
Local Build vs Release
make build-release (scripts/dev/build.sh -a -r) creates local release-like binaries.
It does not publish artifacts and does not replace the tag-based CI release.
Pre-Release Checklist
make checkpasses.- User-facing docs are updated.
RELEASE_NOTES.mdis updated if needed.- Working tree is clean before tagging.
Tag Rollback
If a wrong tag was pushed:
git tag -d v2.3.1
git push origin :refs/tags/v2.3.1
Then create and push the corrected tag.