name: 'Attest Build Provenance' description: 'Generate provenance attestations for build artifacts' author: 'GitHub' branding: color: 'blue' icon: 'lock' inputs: subject-path: description: > Path to the artifact serving as the subject of the attestation. Must specify exactly one of "subject-path", "subject-digest", or "subject-checksums". May contain a glob pattern or list of paths (total subject count cannot exceed 1024). required: false subject-digest: description: > Digest of the subject for which provenance will be generated. Must be in the form "algorithm:hex_digest" (e.g. "sha256:abc123..."). Must specify exactly one of "subject-path", "subject-digest", or "subject-checksums". required: false subject-name: description: > Subject name as it should appear in the attestation. Required when identifying the subject with the "subject-digest" input. subject-checksums: description: > Path to checksums file containing digest and name of subjects for attestation. Must specify exactly one of "subject-path", "subject-digest", or "subject-checksums". required: false push-to-registry: description: > Whether to push the provenance statement to the image registry. Requires that the "subject-name" parameter specify the fully-qualified image name and that the "subject-digest" parameter be specified. Defaults to false. default: false required: false show-summary: description: > Whether to attach a list of generated attestations to the workflow run summary page. Defaults to true. default: true required: false github-token: description: > The GitHub token used to make authenticated API requests. default: ${{ github.token }} required: false outputs: bundle-path: description: 'The path to the file containing the attestation bundle.' value: ${{ steps.attest.outputs.bundle-path }} attestation-id: description: 'The ID of the attestation.' value: ${{ steps.attest.outputs.attestation-id }} attestation-url: description: 'The URL for the attestation summary.' value: ${{ steps.attest.outputs.attestation-url }} runs: using: 'composite' steps: - uses: actions/attest-build-provenance/predicate@1176ef556905f349f669722abf30bce1a6e16e01 # predicate@1.1.5 id: generate-build-provenance-predicate - uses: actions/attest@v2.2.1 id: attest with: subject-path: ${{ inputs.subject-path }} subject-digest: ${{ inputs.subject-digest }} subject-name: ${{ inputs.subject-name }} subject-checksums: ${{ inputs.subject-checksums }} predicate-type: ${{ steps.generate-build-provenance-predicate.outputs.predicate-type }} predicate: ${{ steps.generate-build-provenance-predicate.outputs.predicate }} push-to-registry: ${{ inputs.push-to-registry }} show-summary: ${{ inputs.show-summary }} github-token: ${{ inputs.github-token }}