Skip to content
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

Allow mixing ca-enabled and non-ca-enabled builders #4755

Closed
thufschmitt opened this issue Apr 28, 2021 · 2 comments · Fixed by #4905
Closed

Allow mixing ca-enabled and non-ca-enabled builders #4755

thufschmitt opened this issue Apr 28, 2021 · 2 comments · Fixed by #4905
Assignees
Labels
ca-derivations Derivations with content addressed outputs

Comments

@thufschmitt
Copy link
Member

Is your feature request related to a problem? Please describe.

Like recursive-nix, ca-derivations is (partially) a build-time feature. This means that (in a distributed build scenario) a remote builder must have the experimental feature enabled to be able to build a ca derivation.
However (unlike recursive-nix), there's currently no way to tell at a distance whether a builder will support it or not, meaning that the scheduler might sent ca derivations to non-ca-enabled builders (which will miserably fail).

Describe the solution you'd like

Like for recursive-nix, make content-addressed derivations require a ca-derivations system feature (implicitly though), and make the ca-derivation experimental feature add this system feature to the default set.

Describe alternatives you've considered

  • Do nothing and require users to manually do the system-feature dance if they need to (possibly adding the requiredSystemFeature at the nixpkgs level, at least as a transitionary measure)
  • Abuse the fact that remote builders must be trusted users to force them to use the experimental feature. But that sounds rather bad, and wouldn't work with older Nix.
@thufschmitt thufschmitt added improvement ca-derivations Derivations with content addressed outputs labels Apr 28, 2021
@thufschmitt thufschmitt self-assigned this Apr 28, 2021
@Ericson2314
Copy link
Member

Abuse the fact that remote builders must be trusted users to force them to use the experimental feature. But that sounds rather bad, and wouldn't work with older Nix.

In fact, ca-enabled builds should work with untrusted users. This is tested on the Nix side, but I suppose we might want to test it on the hydra side too.

@thufschmitt
Copy link
Member Author

In fact, ca-enabled builds should work with untrusted users

Yes, I guess that’s one more reason why this suggestion is pretty stupid 🙃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ca-derivations Derivations with content addressed outputs
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants