Status: DRAFT
Owner: DevOps
Related: TASKS.md
ratelord adheres to Semantic Versioning 2.0.0 (SemVer).
- MAJOR (
vX.0.0): Incompatible API changes (breaking the Agent Contract). - MINOR (
v0.X.0): Backwards-compatible functionality (new Epics/Features). - PATCH (
v0.0.X): Backwards-compatible bug fixes.
vX.Y.Z-alpha.N: Internal unstable builds.vX.Y.Z-beta.N: Feature-complete for verifying Epic targets.vX.Y.Z-rc.N: Release Candidate. Code freeze.
The release process is fully automated via GitHub Actions, triggered by Git Tags.
Trigger: push tags: v*
Steps:
- Test: Run full unit and integration suite.
- Build: Compile binaries for targets (darwin/amd64, darwin/arm64, linux/amd64, linux/arm64).
- Docker: Build and push Docker image
rmax/ratelord-d:vX.Y.Zandlatest. - Changelog: Generate from Conventional Commits since last tag.
- Publish: create GitHub Release with artifacts and changelog.
ratelord_vX.Y.Z_darwin_arm64.tar.gz(bin/ratelord, bin/ratelord-d, bin/ratelord-sim)ratelord_vX.Y.Z_linux_amd64.tar.gzchecksums.txt(SHA256)
We use conventional commits to automate changelogs.
feat:-> Minor version bump (unless breaking).fix:-> Patch version bump.docs:,chore:,test:-> No version bump (or Patch if configured).BREAKING CHANGE:footer -> Major version bump.
Before pushing a tag:
- Acceptance: Run
make acceptance(locally or on CI). - Docs: Ensure
RELEASE_NOTES.mdis updated (if maintaining manually) orNEXT_STEPS.mdis clear. - Tag:
git tag -a v0.2.0 -m "release: Epic 27 complete" - Push:
git push origin v0.2.0