-
Notifications
You must be signed in to change notification settings - Fork 20
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
ci: Set environment NIX_ABORT_ON_WARN=true
#191
Conversation
7ee87b5
to
b6c05bc
Compare
b6c05bc
to
1d1aea1
Compare
I don't really understand the underlying problem. Is it that Nixpkgs/NixOS has impure expressions that fail hard on pure eval? How exactly does it help to split evaluations, and what is the partitioning? |
Seems to match with the file name of the license at <https://github.com/mCaptcha/mCaptcha/tree/master/LICENSES>. I might file a PR later.
25fad27
to
07e8746
Compare
There's no problem per se. It's just that @mightyiam and me would like to avoid stuff reaching
In order to make Therefore, we need to eval in impure mode to get the behavior we want, i.e. abort on warnings.
There's one impure evaluation, which will error if there's a warning, and one pure evaluation, which will not error if there's a warning. Since they cannot reuse any evaluation results (well, one is impure the other isn't...) it does not make sense to somehow run them sequentially and benefit from evaluation caching (if that would be supported anyway, see NixOS/nix#4279). Thus, run two jobs in parallel. That way, the impure evaluation does not slow down Edit after both jobs have succeeded: As you can see, |
I see, makes sense. Please add that sort of rationale into commit messages in the future (doesn't have to be that long). |
Resolves #155
See
lib/trivial.nix
.Since this requires impure evaluation, and we want our flake to be pure in principle, split this into two separate evaluations, and also two jobs to hopefully save some time by parallelization. Caching the impure evaluation doesn't really make sense anyway.