Finding
actions/attest-build-provenance has become a no-op wrapper. From its v4.2.2 release notes:
As of version 4, actions/attest-build-provenance is simply a wrapper on top of actions/attest.
Existing applications may continue to use the attest-build-provenance action, but new implementations should use actions/attest instead.
Reading its action.yml confirms this literally: the composite forwards every input verbatim to actions/attest@508db95 # v4.2.1 and contains no logic of its own. When no predicate-type/predicate is supplied, actions/attest emits SLSA build provenance by default, so there is nothing to hand-roll on migration.
Usage in this repository
.github/workflows/build-test-release.yaml L963, pinned 4d101475d8b20a2381f78447822ac1eab6504dd8 # v4.2.2.
This is the blob/artefact path (subject-path), which maps one-to-one onto actions/attest — swap the uses: line and pin, leave the with: block and the id-token: write / attestations: write permissions untouched.
Worth considering while in here
actions/attest exposes a first-class sbom-path input for SBOM attestations that the wrapper does not usefully surface. If this repo produces an SBOM, attesting it alongside the build artefact is close to free. Optional, and fine to split into its own issue.
Priority
Deferred, not urgent. GitHub is explicit that existing applications may continue using the wrapper; nothing is broken or carries a removal date. This issue exists so the finding is recorded rather than rediscovered, and so the migration happens deliberately rather than as a drive-by.
References
Finding
actions/attest-build-provenancehas become a no-op wrapper. From its v4.2.2 release notes:Reading its
action.ymlconfirms this literally: the composite forwards every input verbatim toactions/attest@508db95 # v4.2.1and contains no logic of its own. When nopredicate-type/predicateis supplied,actions/attestemits SLSA build provenance by default, so there is nothing to hand-roll on migration.Usage in this repository
.github/workflows/build-test-release.yamlL963, pinned4d101475d8b20a2381f78447822ac1eab6504dd8 # v4.2.2.This is the blob/artefact path (
subject-path), which maps one-to-one ontoactions/attest— swap theuses:line and pin, leave thewith:block and theid-token: write/attestations: writepermissions untouched.Worth considering while in here
actions/attestexposes a first-classsbom-pathinput for SBOM attestations that the wrapper does not usefully surface. If this repo produces an SBOM, attesting it alongside the build artefact is close to free. Optional, and fine to split into its own issue.Priority
Deferred, not urgent. GitHub is explicit that existing applications may continue using the wrapper; nothing is broken or carries a removal date. This issue exists so the finding is recorded rather than rediscovered, and so the migration happens deliberately rather than as a drive-by.
References
actions/attestactions/attest-build-provenancev4.2.2 release notes