| name | release |
|---|---|
| description | Cut a Memoria release. Version bump, CHANGELOG, CI workflows, Docker image. Use when publishing a new version. |
| Step | Who | How |
|---|---|---|
| Bump version, tag, push | You | make release VERSION=x.y.z |
| Build binaries (4 platforms) | CI | release-rust.yml |
| Build + push Docker image | CI | release-docker.yml |
| Create GitHub Release | CI | softprops/action-gh-release |
git status # Must be clean
make release VERSION=0.2.0Does: update Cargo.toml version → cargo check → generate CHANGELOG (git-cliff) → commit → tag → push.
CI then: test → build binaries (x86_64/aarch64 linux/macos) → GitHub Release → Docker image (:0.2.0 + :latest).
make release-rc VERSION=0.2.0-rc1Same but: no CHANGELOG, GitHub Release marked prerelease, Docker gets :0.2.0-rc1 (not :latest).
Typical: rc1 → rc2 → stable.
make release-docker # :latest
make release-docker VERSION=0.2.0 # :0.2.0 + :latest| Workflow | Trigger | What |
|---|---|---|
test.yml |
Push main/develop, PRs | check + clippy + tests |
pr-title.yml |
PR open/edit | Conventional Commits validation |
release-rust.yml |
Tag v* |
Test → build → GitHub Release |
release-docker.yml |
Tag v* |
Test → build → Docker Hub |
Both release workflows run full test suite before publishing.
memoria/Cargo.toml— source of truthmemoria --version— binarymcp.json—_versionfield- Steering rules —
<!-- memoria-version: x.y.z -->
- Clean working tree, CI green on main
- README/docs updated for user-facing changes
- Steering rules updated if tool behavior changed
-
make release VERSION=x.y.z - Verify GitHub Release has 4 binaries + checksums
- Verify Docker Hub has new tag