Repository navigation
Conversation
…it and attested S2 of the supply-chain plan. hack/release writes what the release is made of from what the builds recorded: the apk databases QEMU and e2fsprogs were statically linked in (copied out of each builder by its extract stage, so the compile is not touched), the image's dpkg list, versions.yaml's pins and every shipped file by its hash, merged under machine.env inside the tarball and under the tarball beside it, and fails on a component with no version. The release attests the SBOM over the tarball as cyclonedx; workflows_test requires it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
S2 of the supply-chain plan (PR 9 in the table), for spin-machine.
qemu/Dockerfileande2fsprogs/Dockerfile: theextractstage copies the builder's/lib/apk/db/installedto_output/sbom/<part>.apk. It is a COPY out of the finished builder, so the compile stays cached. Rebuilt here, QEMU's binaries came out byte-identical. mkfs.ext4 changed only because the local cache had lost e2fsprogs' builder andapk addtook newer packages, which are unpinned.hack/releasewrites the CycloneDX SBOM withgo tool sbom. Its inputs:sbom apk -only; the rest of the database is formulation);packages.txt;The parts are merged under
machine.envintousr/share/spin-stack/sbom/machine.cdx.jsonin the tarball, and under the tarball's hash into<tarball>.cdx.jsonbeside it.sbom checkfails the release on a component with no version. SOURCE_DATE_EPOCH is the commit's time.release.yml:cosign attest-blob --type cyclonedxover the tarball, verified;.cdx.jsonis published, signed and provenance-attested too;attestgate fileschecks provenance on every file, and cdx on the tarball.workflows_testsetsRequireSBOM. Planted: an attestation of another type fails it, at Publish.go-tools moves to 621f429, with the
sbomtool.Run locally,
VERSION=v20261013.99 hack/releasegives 454 components, all with a purl or hash: glib-static 2.88.1-r1, the kernel from its real URL, and 215 base-image packages.Not here:
sbomhas no pedigree yet.🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.