Release procedure
arka-deck is distributed exclusively via GitHub Releases (ADR 0004). The npm package stays intentionally private.
Prerequisites
Section titled “Prerequisites”- Push rights on
main(maintainer). - GitHub token with write permissions on releases.
- Clean local environment (
git statusclean). - All CI gates green on the branch to publish.
Step 1 — Prepare the version
Section titled “Step 1 — Prepare the version”./scripts/release.sh <X.Y.Z>The script:
- Checks version number consistency (
package.json,adapters/inbound/web/ui/package.json). - Updates
CHANGELOG.md([Unreleased]section →[X.Y.Z] - <date>). - Creates the
chore(release): vX.Y.Zcommit. - Creates the signed
vX.Y.Ztag.
Step 2 — Push
Section titled “Step 2 — Push”git push origin maingit push origin vX.Y.ZThe tag push automatically triggers the .github/workflows/release.yml workflow.
Step 3 — Automatic release workflow
Section titled “Step 3 — Automatic release workflow”The workflow:
- Re-runs all CI gates.
- Builds dist + UI.
- Generates the
arka-deck-X.Y.Z.tar.gztarball with expected files (dist/,bin/,docs/,LICENSE,NOTICE,README.md,CHANGELOG.md,SECURITY.md,CONTRIBUTING.md,CODE_OF_CONDUCT.md,AGENT-INSTALL.md,ROADMAP.md,.env.example,package.json). - Audits the tarball (
scripts/check-release-tarball.mjs) — refuses leaked internal files. - Computes the SHA256.
- Creates the GitHub Release with the tarball, SHA256 and CHANGELOG.
Step 4 — Announce
Section titled “Step 4 — Announce”- Update the README version badge if needed.
- Announce the release on GitHub Discussions / community channels.
- Check the eventual doc static site deployment (if enabled).
Hotfix case
Section titled “Hotfix case”For an urgent patch on the X.Y.Z version:
- Branch from the tag:
git checkout -b hotfix/X.Y.Z+1 vX.Y.Z. - Apply the fix.
- PR to
main. - Once merged:
./scripts/release.sh X.Y.Z+1thengit push origin vX.Y.Z+1.
Signing and provenance
Section titled “Signing and provenance”- DCO sign-off on each commit (checked in CI).
- GitHub Actions attestations on release artifacts (provenance).
- Sigstore / cosign: planned but not yet active (see ROADMAP.md).
Versioning (SemVer)
Section titled “Versioning (SemVer)”The project follows Semantic Versioning :
MAJOR: public breaking change (e.g. v2.0.0 = TUI removal).MINOR: backward-compatible additions (e.g. new addon).PATCH: backward-compatible fixes.
Sub-package versions (addons/cortex-lite/) may intentionally diverge (e.g. 0.1.0 for a pre-release module).
See also
Section titled “See also”- GitHub distribution ADR: ../../adr/0004-distribution-github-only.md
- CHANGELOG: ../../../CHANGELOG.md
- ROADMAP: ../../../ROADMAP.md
- CI scripts: ../reference/scripts-ci