-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
workflows: actions/attest-build-provenance #3225
Conversation
Provide Github provenance for release assets cretaed during a workflow.
@itchyny I deleted my previous for, which automatically closed the PR, as it is having a problem I cannot account for. Even after deleting and forking the issue persists. On lectrical/jq when pushing a new tag it will fail at the docker build push step with a 403 that makes no sense. https://github.com/lectrical/jq/actions/runs/12521449413/job/34928540814 This error was not present at first, It started at one point, I think after me deleting the packages. I had to make a new test account to apply the change and push a tag to show it works as expected. https://github.com/testimus-maximus/jq/actions/runs/12521528350 This is failing on downloading artifacts for some reason but that's not related to the changes made. These were the changes you requested and it does work. |
Okay, I'll test on my fork later. |
@itchyny will do, but also, perhaps an upcoming issue. Looking my failing test repo with debug mode https://github.com/testimus-maximus/jq/actions/runs/12521528350/job/34929105623 I came across this potential issue docker/build-push-action#1167 An issue with docker/build-push-action@v6 and the way the way actions/download-artifact@v4 is configured. Can you confirm? |
So i believe this commit fixes the issues. with:
pattern: jq-* Telling the artifact downloader to be more specific and not grab things it does not care about (docker stuff) seems like a valid way to not encounter the issue? All binary artifacts are uploaded with the name prefix The permission is a curious one as guess it's a related to the default permissions of a new repo/fork as seen here https://github.com/testimus-maximus/jq/actions/runs/12522038351/job/34929986320#step:7:51 It was caused by the Update Signatures step and solved by adding Here is a full release workflow successfully completed. https://github.com/testimus-maximus/jq/actions/runs/12522119122 Docker: https://github.com/testimus-maximus/jq/attestations/4133797 Release assets: https://github.com/testimus-maximus/jq/attestations/4133808 |
One last confirmation the test repo outcome is good:
Will give a result like this.
|
Thank you. I confirmed the commit d2762b7 working on my fork.
|
nice and thanks for the review. |
Adding https://github.com/actions/attest-build-provenance to the ci builds so that the release assets and docker image for the next release tag generate signed build provenance attestations for workflow artifacts.