Skip to content

chore: generate artifact attestations for release assets#2183

Open
scop wants to merge 1 commit into
lycheeverse:masterfrom
scop:chore/artifact-attestations
Open

chore: generate artifact attestations for release assets#2183
scop wants to merge 1 commit into
lycheeverse:masterfrom
scop:chore/artifact-attestations

Conversation

@scop
Copy link
Copy Markdown

@scop scop commented May 3, 2026

https://docs.github.com/en/actions/concepts/security/artifact-attestations

This makes use of workflow artifacts to accomplish generating a single combined attestation for all release assets. Generating one per asset is kind of an antipattern, could at present generate one for successful matrix entries even when some others in it fail, as well as require id-token and attestations permission for the build process. Doing it this way with workflow artifacts is a bit clunky, but it currently serves as a widely used workaround for inability to nicely set and consume multiple outputs from matrix builds.

Python wheel builds already have the attestations, per the maturin generated workflow.

Caveat: untested, but I suppose it could work. Anyway as the asset job is a separate one after release builds, a failure in it should not prevent GitHub release from succeeding.

https://docs.github.com/en/actions/concepts/security/artifact-attestations

This makes use of workflow artifacts to accomplish generating a single
combined attestation for all release assets. Generating one per asset
is kind of an antipattern, could at present generate one for successful
matrix entries even when some others in it fail, as well as require
id-token and attestations permission for the build process. Doing it
this way with workflow artifacts is a bit clunky, but it currently
serves as a widely used workaround for inability to nicely set and
consume multiple outputs from matrix builds.
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