Release Process
Tag-driven SemVer releases — cargo-dist binaries, WASM, crates.io, multi-arch Docker, and release gates.
Release Process
WeftOS releases are tag-driven. Pushing a SemVer-shaped tag (vX.Y.Z)
fans out into workflows that produce binaries, WASM artifacts, knowledge-base
bundles, crates.io publish, and the multi-arch Docker image.
Canonical long-form operator guide (repo): docs/deployment/release.md (WEFT-468 — Fumadocs surfaces this publicly; deep detail lives with the deployment markdown set).
Version numbering
- MAJOR.MINOR.PATCH (SemVer).
- Workspace root
Cargo.tomlis the version source of truth. - Publish refuses tag/workspace mismatches.
What a tag triggers
| Artifact | Typical workflow / tool |
|---|---|
| Host binaries | cargo-dist |
| Browser / WASI WASM | scripts/build.sh browser / wasi |
| Docker multi-arch | release-docker.yml (see Docker Deployment) |
| crates.io | publish workflow for publish = true crates |
Local rehearsal
# Prefer the unified script (see scripts/build.sh --help)
scripts/build.sh gate --with-release-dry-run # optional multi-minute
scripts/build.sh native # release CLI