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

Rework derivation input resolution #12567

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Ericson2314
Copy link
Member

Motivation

I refactored the way that input resolution works in DerivationGoal. To be honest, it is probably unclear to the reader whether this new way is better or worse. I suppose intrinsic motivation, I can say that

  • the more structured use of inputGoal (a local variable) is better than the shotgrun approach with inputDrvOutputs

  • A virtual waiteeDone was a hack, and now it's gone.

Context

However, the real motivation of this is not the above things, but that it is needed for my mammoth refactor fixing #11897 and #11928.

It is nice that this step could come first, rather than making that refactor even bigger.

Depends on #12558


Add 👍 to pull requests you find important.

The Nix maintainer team uses a GitHub project board to schedule and track reviews.

It's hard to reproduce this race condition going forward (e.g. it
depends on the precise order that goals are scheduled, but
https://github.com/roberth/nix-9052 current reproduces it, and this
fixes that.
I refactored the way that input resolution works in `DerivationGoal`. To
be honest, it is probably unclear to the reader whether this new way is
better or worse. I suppose *intrinsic* motivation, I can say that

- the more structured use of `inputGoal` (a local variable) is better
  than the shotgrun approach with `inputDrvOutputs`

- A virtual `waiteeDone` was a hack, and now it's gone.

However, the *real* motivation of this is not the above things, but that
it is needed for my mammoth refactor fixing NixOS#11897 and NixOS#11928.

It is nice that this step could come first, rather than making that
refactor even bigger.
@github-actions github-actions bot added the new-cli Relating to the "nix" command label Feb 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-cli Relating to the "nix" command
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant