Skip to content

Conversation

@burgerdev
Copy link
Member

@burgerdev burgerdev commented Oct 22, 2024

Context

There's an implicit assumption that our release artifacts are reproducible, but the exact requirements are unclear. According to reproducible-builds.org, a reproducible build needs to come with a build environment definition.

A user found an issue where the local Nix store state influences build outcomes. This was not caught by our tests because they are only testing a narrow build environment.

Proposed change(s)

  • Fix the issue and add a test for it.
  • Document our reproducibility claims, in particular that
    • Artifacts are expected to be reproducible (and it's a bug if not).
    • Set a baseline for reasonable host environments.
    • Our supported and tested environment for reproduction is defined by the workflow.

Additional info

Checklist

@netlify
Copy link

netlify bot commented Oct 22, 2024

Deploy Preview for constellation-docs ready!

Name Link
🔨 Latest commit 0c7fbf7
🔍 Latest deploy log https://app.netlify.com/sites/constellation-docs/deploys/671a614499dc0600098b5e8a
😎 Deploy Preview https://deploy-preview-3451--constellation-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@burgerdev burgerdev added the documentation Improvements or additions to documentation label Oct 22, 2024
@burgerdev burgerdev changed the title document how to reproduce released artifacts docs: how to reproduce released artifacts Oct 22, 2024
@burgerdev burgerdev added this to the v2.20.0 milestone Oct 22, 2024
@burgerdev burgerdev marked this pull request as ready for review October 22, 2024 16:36
@burgerdev burgerdev requested a review from thomasten as a code owner October 22, 2024 16:36
Copy link
Member

@msanft msanft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonderful, thank you!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love this!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if I should perform the nix installation manually, too, to serve as build environment setup instructions.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the action and added a manual download/exec of the nix-installer. Renovate should upgrade it every once in a while with the config change.

Copy link
Member

@m1ghtym0 m1ghtym0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, thanks!

@burgerdev burgerdev force-pushed the burgerdev/reproducibility branch from 20d81f4 to 0c7fbf7 Compare October 24, 2024 15:01
Copy link
Contributor

@3u13r 3u13r left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@burgerdev burgerdev merged commit bff8bce into main Oct 29, 2024
8 checks passed
@burgerdev burgerdev deleted the burgerdev/reproducibility branch October 29, 2024 13:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants