Skip to content

feat(stack): attach package receipts to images as SBOM attestations - #1470

Open
anthonydahanne wants to merge 1 commit into
mainfrom
stack-run-image-sbom-attestations
Open

anthonydahanne wants to merge 1 commit into
mainfrom
stack-run-image-sbom-attestations

Conversation

@anthonydahanne

Copy link
Copy Markdown
Member

Why

Each stack image gets a CycloneDX package receipt per architecture, but it is only published as a GitHub release asset. Nothing ties it to the image in the registry. The push workflow now hands the receipts of each image to jam publish-image --sbom, which stores them in the image index.

What

  • stack/scripts/publish.sh finds the receipts of an image by the name of its archive, so the workflow keeps the release asset name instead of saved_image.oci.
  • With a jam that has no --sbom, or when a receipt is missing, the image is still published, without SBOM.
  • The copy pushed to GCR is rebuilt from the Docker Hub image and does not get the attestations.
  • The script was run locally against a registry with the ubuntu-noble-run-tiny 0.0.157 release files; the workflow change itself has only been checked as valid YAML.

Merge order

  1. jam #627 - adds --sbom, then needs a release
  2. THIS PR - also needs the jam pin in stack/scripts/.util/tools.json bumped to that release

Each stack image gets a CycloneDX receipt per architecture, but it is only published as a GitHub
release asset: nothing ties it to the image in the registry.

The push workflow now downloads the receipts of the release, and publish.sh hands the ones of each
image to `jam publish-image --sbom`, which adds them to the image index. It finds them by name,
which is why the image archive keeps the name of its release asset.

With a jam that has no --sbom, or when a receipt is missing, the image is published without SBOM.
The copy pushed to GCR is rebuilt from the Docker Hub image and does not get the attestations.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@anthonydahanne
anthonydahanne marked this pull request as ready for review November 13, 2026 22:09
@anthonydahanne
anthonydahanne requested review from a team as code owners November 13, 2026 22:09
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.

1 participant