fix: validate release SBOM semantics - #519
codeforester merged 3 commits into
Conversation
|
Multi-angle review of this PR (SPDX-required SHA1 + independent spdx-tools validation, closes #456). Three findings, ranked by severity: 1. 2. The new independent SPDX semantic-validation CI job ( 3. Minor test-strength gaps. For context: I independently built a real SBOM from this branch and ran it through actual |
|
Addressed in commit 36a87ea: v2.1.0 and earlier retain the published SHA256-only SPDX shape, while v2.2.0+ emits SHA1 and SHA256 for every file. The negative validator now requires the sole validation error to be missing SHA1, and independent validation runs on macOS and Linux. The 12-test release-artifact suite and local macOS positive/negative SPDX checks pass. |
|
Confirmed fixed, including the most severe finding. |
Summary
Add the SPDX-required SHA1 checksum to every generated file record while retaining SHA256. Independently parse and semantically validate candidate SBOMs with the pinned spdx-tools 0.8.5, including a negative semantic fixture.
Issue
Fixes #456
Validation
bats tests/release-artifact.bats— passed (11 tests).bash -n scripts/release-artifact, ShellCheck, andgit diff --check— passed.Docs Impact
Documents SBOM validation and immutable published assets in
docs/release-process.md.CI Impact
Adds pinned independent SBOM validation on Linux.