Skip to content

Release automation: publish SHA256SUMS + canonical commit SHA; pin installer/README to a release #408

Description

@mogul

Context

Follow-up from #387 (installer + ADR docs/adr/0026-installation-and-distribution.md, accepted).

Two integrity mechanisms are already built in install.sh and just need release artifacts to point at:

  • Commit-SHA pinning--sha / ACQ_INSTALL_SHA checks out a full 40-char commit and verifies HEAD matches it, failing closed on mismatch. Content-addressed, so a matching SHA is itself an integrity check.
  • Ref pinning--ref targets a tag/branch (default currently main for pre-merge testing).

What this issue tracks

  1. Publish SHA256SUMS for install.sh (and any release tarball) as a GitHub Release asset on each release.
  2. Emit a canonical commit SHA per release so the installer can default to that SHA rather than a movable ref.
  3. Swap the README install URL from .../main/install.sh to a pinned release tag (README.md lines that curl the raw install.sh).
  4. Default the installer to the canonical release SHA (wire the already-built --sha path to the published value).

Blocking dependency / trigger

Blocked until a release that actually contains install.sh exists (chicken/egg: the README can't point at a tag before a release ships the installer). Trigger: the first release cut from main after #387 merges.

Acceptance

  • Each release attaches SHA256SUMS; the hosted raw install.sh URL is pinned to a tag in the README.
  • install.sh defaults to the canonical release SHA and verifies it (the --sha verification path already exists and is tested).
  • "Live end-to-end" validation from ADR-0026's Validation section (hosted-URL + checksum flow) can finally run.

Notes

AI-assisted (OpenCode). Human owner: @mogul.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions