Skip to content

build: publish container attestations - #3836

Draft
djwhitt wants to merge 1 commit into
ci/automate-docker-base-updatesfrom
build/publish-container-attestations
Draft

build: publish container attestations#3836
djwhitt wants to merge 1 commit into
ci/automate-docker-base-updatesfrom
build/publish-container-attestations

Conversation

@djwhitt

@djwhitt djwhitt commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Summary

  • publish SPDX SBOM and maximum-mode SLSA provenance attestations for application, base, and runner images
  • hand exact Buildx output digests between architecture builds and manifest publication instead of trusting mutable tags
  • verify both predicates for amd64 and arm64 after publishing final multi-architecture tags
  • verify versioned and latest release tags after retagging
  • use immutable commit pins for every action touched by the security stack
  • merge daily base/runner runs serially and from run-specific digest artifacts

Validation

  • 18 focused Python tests pass
  • checker accepts BuildKit OCI and legacy attestation-manifest forms, validates subjects when present, and requires SPDX plus SLSA predicates for both architectures
  • live inspection confirmed Docker Hub's current provenance descriptor format; the checker correctly rejects the existing base tag because its SBOM predicate is absent
  • full production Docker image build and runtime smoke check pass
  • all changed workflows pass actionlint except the repository's custom Blacksmith runner-label diagnostic
  • production Docker workflow passed (run 31849626334)

Residual rollout note

The post-push checker intentionally fails publication if Docker Hub does not expose both attestations. Full registry verification therefore occurs on the first publishing run after merge.

Stack

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