Skip to content

Support single-subject attestations - #466

Draft
bdehamer wants to merge 1 commit into
mainfrom
bdehamer/single-subject-attestations
Draft

Support single-subject attestations#466
bdehamer wants to merge 1 commit into
mainfrom
bdehamer/single-subject-attestations

Conversation

@bdehamer

Copy link
Copy Markdown
Collaborator

Context

actions/attest currently combines every resolved subject into one attestation. Some consumers—notably PyPI and PEP 740 tooling—require each attestation statement to contain exactly one subject.

This adds an opt-in mode for that use case while retaining the existing multi-subject behavior by default. Addresses #213.

Changes

  • add the single-subject-attestations input, limited to 100 resolved subjects
  • create attestations serially with a one-second delay between operations
  • continue after individual failures, preserve successful bundles, and fail after all subjects have been attempted
  • add a results-path output with per-subject IDs, URLs, bundle lines, and errors
  • emit the existing singular outputs only when one logical attestation is attempted successfully
  • allow multiple OCI subjects with push-to-registry in single-subject mode using the existing registry path

Validation

  • npm run format:check
  • npm run lint
  • npm run ci-test
  • npm run package
  • git diff --check

@bdehamer
bdehamer changed the base branch from bdehamer/strip-oci-subject-tag to main July 30, 2026 13:39
Add an opt-in mode that creates, paces, and reports one attestation per resolved subject while preserving the existing multi-subject default.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 0c01927e-4bdb-4eef-9e04-ea9a3240ff67
@bdehamer
bdehamer force-pushed the bdehamer/single-subject-attestations branch from 958a943 to 4c98ef7 Compare July 30, 2026 13:42
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