-
Notifications
You must be signed in to change notification settings - Fork 138
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
[feature] randomize binary names #500
Comments
I think randomizing the names will be the simplest approach. I think that the user will use the outputs to determine the right file name for each individual run, right? |
Internally, we'll use random names. The final output will still be determined by the developer. For example, in the case of Go builders, the .slsa-goreleaser defines the output name. You're right, the developer can still use the Wdut? |
follow-up: I think the builder names need to be randomized. The generated binaries only need to be randomized if a hardcoded name is used to upload / download them between jobs (we used to do that but it's been changed, so the user should be responsible for naming its binaries to avoid name collision) |
SG. I think the generic workflow will need a way to either set the name of the provenance file or randomize the name since it currently uses a static name. |
Re-opening because @ianlewis is correct about generic workflow attestation name. |
Something to add is presubmits to test multiple runs of the builders in the same workflow |
I added support for randomized builder binaries for the generic workflow. Last AI is to add a pre-submit if we think it's necessary |
What would you test in the pre-submit? Maybe failure if two calls to the workflow have the same attestation-name? |
Hmm. |
Good catch. We rely on the user to give to provide non-colliding names for the result. The attestations overwrite each other, but the verification will fail for one of the artifacts, so we fail close ,not open. Maybe we don't need adversarial tests the, and just use a workflow similar to https://github.com/slsa-framework/example-package/blob/main/.github/workflows/e2e.generic.schedule.main.multi-subjects.slsa3.yml to catch errors early. |
I added some tests in slsa-framework/example-package#90 Do you think that will be enough? |
definitely. |
Tests in slsa-framework/example-package#90 were merged and ran successfully. |
We currently use hard-coded names for builder binaries and project binaries we compile. This has some downsides:
So I propose randomizing the names of the generated binaries. Anyone OK with that?
I will add an e2e tests as well.
The text was updated successfully, but these errors were encountered: