Skip to content

New release workflow #262

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

Open
wants to merge 43 commits into
base: main
Choose a base branch
from
Open

New release workflow #262

wants to merge 43 commits into from

Conversation

arianvp
Copy link
Member

@arianvp arianvp commented Apr 12, 2025

Instead of downloading the image from hydra we build the image in GitHub Actions.

This is part of the initiative to get rid of closureInfo like jobs from hydra to reduce pressure in the nixos cache growth. As images store redundant information and take up a lot of wasted space.

All the dependencies of the image should already be cached by hydra so the only thing this build does is assemble the image.

We also attest SLSA build provenance using GitHub Attestations / sigstore using https://github.com/marketplace/actions/attest-build-provenance that records when the image was built and by which GitHub actions workflow.

In the future we want to use https://GitHub.com/arianvp/nix-attest to record nix-specific provenance info but that is blocked on actions/attest#195

We then upload the built image to all AWS regions and sign another attestation linking the image to the image IDs for each region. So that there is a cryptographic statement about which AMIs are official (the AMI namespace is public and open. So anyone can upload any AMI under any name. So we want some statement that these are our AMIs).

@arianvp arianvp marked this pull request as ready for review April 23, 2025 15:50
@arianvp
Copy link
Member Author

arianvp commented Apr 24, 2025

I might want to build the sigstore stuff into the upload-ami Python code directly instead using make this not GitHub specific. But that's future work.
https://github.com/sigstore/sigstore-python

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