Why (block)
#687 (v1.0.0 GA Epic) lists "Signed source tarball + checksums
(SHA256 + BLAKE3)" and "SBOM + ABI manifest published with the
release" as exit conditions, but the actual tarball-generation
and checksum-emission pipeline is unfiled.
Without a documented pipeline, tarball contents drift between
releases, checksums are computed by hand, and provenance
(SLSA-style attestation) is missing.
Scope
- Tarball generation:
meson dist (or a scripts/release/make-tarball.sh)
produces a deterministic wirelog-<version>.tar.gz.
- Excludes
.git, .omc, build*, subprojects/<dep>
(pinned via subprojects/*.wrap instead).
- Checksums:
- SHA256 (industry standard).
- BLAKE3 (faster, modern;
b3sum tool).
- Both checksums committed alongside the release as
wirelog-<version>.tar.gz.sha256 and .blake3.
- Provenance attestation (SLSA build provenance):
- Verification recipe:
- Downstream-friendly
verify-release.sh script that:
- Verifies the GPG signature on the tag.
- Verifies the cosign signature on the tarball.
- Verifies SHA256 + BLAKE3.
- Verifies the attestation matches the build.
Acceptance
Cross-ref: #687, #750 (signing pipeline), #744 (SBOM),
B19 (#749).
Why (block)
#687 (v1.0.0 GA Epic) lists "Signed source tarball + checksums
(SHA256 + BLAKE3)" and "SBOM + ABI manifest published with the
release" as exit conditions, but the actual tarball-generation
and checksum-emission pipeline is unfiled.
Without a documented pipeline, tarball contents drift between
releases, checksums are computed by hand, and provenance
(SLSA-style attestation) is missing.
Scope
meson dist(or ascripts/release/make-tarball.sh)produces a deterministic
wirelog-<version>.tar.gz..git,.omc,build*,subprojects/<dep>(pinned via
subprojects/*.wrapinstead).b3sumtool).wirelog-<version>.tar.gz.sha256and.blake3..intoto.jsonlattestation generated by GitHub Actions.verify-release.shscript that:Acceptance
byte-identical artifacts).
are emitted by the at-tag CI workflow (B19: at-tag CI re-verification of full matrix (Tier-1 + abi + sanitizer + perf) #749 B19).
verify-release.shexists in the repo and works on a testrelease.
docs/RELEASE_PROCESS.mddocuments the procedure.Cross-ref: #687, #750 (signing pipeline), #744 (SBOM),
B19 (#749).