-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Remove the build hook mechanism #1221
Comments
Would this just be an internal change to Nix? If not, how would this affect those of us who are using |
It would break your build hook. What are you using |
I'm using It's also been useful in getting some better |
@expipiplus1 EDIT: seems like |
Would doing this prevent implementation of use cases like #1914? |
@ledettwy No, it shouldn't affect that. |
@volth You can force a local build by passing |
E.g. cannot build on 'ssh://mac1': cannot connect to 'mac1': bash: nix-store: command not found cannot build on 'ssh://mac2': cannot connect to 'mac2': Host key verification failed. cannot build on 'ssh://mac3': cannot connect to 'mac3': Received disconnect from 213... port 6001:2: Too many authentication failures Authentication failed.
You're right, it requires a trusted user. We could require the untrusted user's |
I'm using build hooks to incrementally push things to the cache (as opposed to only after a full derivation built). Is there a better mechanism for doing this? |
Nevermind. I'm using |
I marked this as stale due to inactivity. → More info |
I closed this issue due to inactivity. → More info |
I have wondered whether as part of a migration we could have a |
Nix team discussion: The consensus is that we want to get rid of the build hook. There may be some issues around derivation cancellation, but that's not a big problem right now. As a first step, we could remove the |
Is there an alternative? This will break many existing CI setups. |
Alternative to which part? Overriding the build hook? If that is in wide use, then yes we'll have to approach this the other way of doing a My comment about about a " |
Like always declining; local builds only, as can be inferred from the docs. (Not worth spending too many words on this pretty obvious behavior, I think. Also, plans to remove it? NixOS#1221) (cherry picked from commit 3edd3001f45397ebc535d82d8fd9f798b4b0ab5f)
Like always declining; local builds only, as can be inferred from the docs. (Not worth spending too many words on this pretty obvious behavior, I think. Also, plans to remove it? NixOS#1221)
What is the point in removing it if it's e.g. only 100 lines of code to maintain? I still do think remote building shouldn't go through the hook, but the hook might still be useful to keep around (for CI, as noted above). OTOH, wouldn't the C API be a suitable replacement too? |
Like the substituter mechanism, we can use the Store abstraction instead. I.e. we call
remoteStore->buildPaths(...)
directly rather than calling an external process that does the same thing.The text was updated successfully, but these errors were encountered: