-
-
Notifications
You must be signed in to change notification settings - Fork 14.9k
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
coq_8_14: init at 8.14+rc1 #138274
coq_8_14: init at 8.14+rc1 #138274
Conversation
|
Build failure (is
Also
|
Is the problem really that |
Indeed, the BTW, |
|
I also got this line in the log linked above: |
4753333
to
dbce3f9
Compare
It's a bit annoying to have to manually tweak the |
You may leave out the evaluation failures for now and just be sure that they get fixed before 8.14.0 gets in |
Yes, but I also want CI on the coq-nix-toolbox repo to pass fully, so I'll fix all the evaluation failures. |
IIUC the only blocking thing to merge this PR would be to understand the CI failure, but despite the failure being reproducible on ofborg runs, it is truly incomprehensible since it never occurred while building locally or on the coq-nix-toolbox CI (and I have checked that the derivations being built are the same). Are there some known outside parameters that can influence how a derivation is built? I believe that my initial build was sandboxed as it ran on my NixOS machine. |
https://github.com/NixOS/nixpkgs/blob/2131f28314d353e326eea14dd8523a4befb34316/pkgs/applications/science/logic/coq/default.nix#L165 bin/votour is not a target since the switch to dune |
Thanks for your suggestion. I will make it conditional. But I still fail to understand why the same version was building fine elsewhere. |
Nah, that was my conditional which was backwards. |
Oh, nice. I did not notice that you had fixed it. |
That's new from yesterday 😉 FTR, here is the current structure of
Do you see anything to fix? From my side, all I noticed is that there should probably also be a symlink from |
Now fixed. |
It seems that this happens because ofborg will sometimes never run these Darwin tests. And this seems to be happening again now. |
FTR I did some tests on macOS via the Coq Nix Toolbox CI, and there doesn't seem to be any issue building Coq. Could there be again some discrepancy between how CI behaves when run by ofborg or in the GitHub Actions from the Coq Nix Toolbox? Hard to tell if the CI here doesn't complete. |
The ofborg CI tests on darwin have finally run, and they have completed with a failure. Meanwhile, the same tests ran in the GitHub Actions CI of the Coq Nix Toolbox and have completed successfully. Once again, building the same derivation was attempted in both cases:
The failure in ofborg tests is deterministic, it is always:
Similarly, the failure we were getting on Linux before fixing the build targets was also deterministic (and was not observed in the GitHub Actions CI of the Coq Nix Toolbox, despite the two buildings the same derivation). I'm quite annoyed by this discrepancy, which is not supposed to happen with Nix. Could the explanation be that the two use a different version of Nix? The Coq Nix Toolbox CI uses Nix 2.3.15, but I don't know how to tell which version the ofborg CI uses. |
cc @grahamc in case you are able to help with this (see comment just above) |
So, it's actually not a Nix version problem. I have been able to reproduce the problem observed here in the GitHub Actions CI with Nix 2.3.15. See https://github.com/Zimmi48/coq-nix-toolbox/runs/3771003867?check_suite_focus=true (not explicitly pinned) and https://github.com/Zimmi48/coq-nix-toolbox/runs/3770951230?check_suite_focus=true (explicitly pinned). |
I'm thinking the explanation might simply be that the archive to download is the same on Linux and Darwin. So it suffices that the archive has already been downloaded on Linux and cached in NixOS official cache (or some Cachix) to make it available to derivations building Coq on Darwin. If that's the case, then it alleviates the problem for users (and explains that it wasn't noticed when running CI with the coq-community Cachix, which already contained the derivation output on Linux). Does that make sense? In any case, this issue does not seem to be a regression from 8.14 but rather a problem that was introduced with the switch from @vbgl Do you agree? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The multinomials
library at version 1.5.4 is compatible with Coq 8.14.
{ case = range "8.8" "8.12"; out = "4.0.0"; } | ||
{ case = range "8.7" "8.11"; out = "3.4.2"; } | ||
{ case = range "8.8" "8.13"; out = "4.3.0"; } | ||
{ case = isEq "8.7"; out = "3.4.2"; } | ||
{ case = range "8.5" "8.6"; out = "3.3.0"; } | ||
] null; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please drop this change from this PR (unrelated and arguably wrong).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The entire change to this file or the second line? If that's the second line, then I can certainly revert that but my point for doing this kind of change was that defaultVersion
is not about providing "correct" version constraints but about having a way to decide which version to use based on the version of Coq and having overlapping ranges is not helpful in this respect (it rather makes the code less clear). (Similarly for the removed case that was just never reached.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I meant the entire set of changes made to this file.
As your reply suggests, it is worth discussion and unrelated to Coq 8.14.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed, interval builds fine with Coq 8.14. I dropped the changes to this file.
@vbgl anything else? |
With Cyril, we've discussed that we should report the issues with non-reproducibility of derivation building that we've encountered while preparing this PR (the |
Motivation for this change
Coq 8.14+rc1 was just tagged.
Things done
Currently testing this, but I expect this will work given that the Coq derivation has been 8.14-ready for a while now.
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)cc @vbgl