Skip to content

ci: add deterministic release artifact contract - #321

Merged
codeforester merged 1 commit into
mainfrom
bug/215-20260814-release-artifact-contract
Aug 14, 2026
Merged

ci: add deterministic release artifact contract#321
codeforester merged 1 commit into
mainfrom
bug/215-20260814-release-artifact-contract

Conversation

@codeforester

Copy link
Copy Markdown
Collaborator

Summary

  • add an offline scripts/release-artifact builder and verifier for the v2 release line
  • emit a deterministic canonical archive, SPDX 2.3 SBOM, provenance statement, and SHA-256 manifest
  • verify archive safety and the embedded single-file bundle hashes before publication
  • document the artifact handoff and wire the script into validation, ShellCheck, and shfmt coverage

Issue

Closes #215

Validation

  • ./tests/validate.sh
  • bats tests/release-artifact.bats
  • shellcheck --severity=warning scripts/release-artifact tests/release-artifact.bats tests/validate.sh tests/lint-warnings.sh
  • shfmt -d -ln bash -i 4 -sr scripts/release-artifact tests/validate.sh tests/lint-warnings.sh
  • git diff --check

CI Impact

Adds the release-artifact script to the repository quality and validation gates.

Docs Impact

Updates the release process and single-file distribution guidance with the canonical artifact workflow.

Release Impact

This PR does not publish a tag, GitHub Release, Homebrew formula, or downstream pin. The existing release guard remains fail-closed until the reviewed RC/GA gates and #240 cutover are complete.

@codeforester
codeforester force-pushed the bug/215-20260814-release-artifact-contract branch from e1ae06f to 59836b4 Compare August 14, 2026 14:15
@codeforester
codeforester merged commit 290e4e6 into main Aug 14, 2026
10 checks passed
@codeforester
codeforester deleted the bug/215-20260814-release-artifact-contract branch August 14, 2026 14:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Establish the v2.0.0 release line and enforce trustworthy version invariants

1 participant