-
Notifications
You must be signed in to change notification settings - Fork 21
fix(ci) harden offline sigstore bundle verification #483
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
Conversation
brandur
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving to get unblocked, but IMO this is starting to be a large amount of code that doesn't have any testing and doesn't have any easy capacity to be tested besides pushing prerelease tags. It'd be nice if there was some way to get some basic exercise of it locally so we could vet changes more easily.
The offline bundle verification step would fail when oras discover returned a referrers index with manifests=null. To resolve this and further harden the publish flow, I implemented a separate script which: - Extracts referrers prefetch + offline verification into scripts/ci - Force-fetches subject + referrers via curl (custom header) before oras - Retries discovery briefly and handles empty referrer sets safely
85cf179 to
b0d3122
Compare
e018fbd to
1b7b256
Compare
ORAS v1.3.0 emits discovery results under .referrers, not .manifests. Update CI helper scripts to accept both shapes so bundle discovery works and offline verification stops failing.
1b7b256 to
9f7084a
Compare
|
@brandur I agree it's frustrating to not be able to test more of this locally. On the other hand we don't actually need to make prerelease tags to test it in CI, we just need to update the triggers here to include pushes to other branches: riverui/.github/workflows/docker-riverproui.yaml Lines 3 to 11 in 3dbbdbc
This is how it typically goes with testing anything driven by GHA and is definitely never a fun way to iterate. I think the only way to avoid that is to keep the pipeline itself just calling scripts/tools that can easily be tested independently, which would take some work here for sure. |
9f7084a to
9cfebbc
Compare
|
Ok, this fixed things! I made updates to the |
The offline bundle verification step would fail when oras discover returned a referrers index with manifests=null.
To resolve this and further harden the publish flow, I implemented a separate script which:
@brandur I'm going to test this manually with some prerelease tags prior to #482 to make sure the full release flow is working smoothly prior to cutting a real release tag.