-
Notifications
You must be signed in to change notification settings - Fork 22
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
[external issue] compilation error using coqorg/coq:dev
with opam unpin coq; opam upgrade
#36
Comments
This seems like a problem with stale files in opam / your CI setup; hard to debug more. Seems to work fine here. |
Indeed, works on my local machine. |
Likely a problem with the |
I've just upgraded |
Hmm it's Docker-specific: ocaml/opam#3997 |
Hi @liyishuai, good catch: to sum up it indeed seems the error you got was (indirectly) caused by ocaml/opam#3997, because your CI script amounts to reinstall Coq and Bignums (see below), and due to the Docker/OPAM timestamps issue, the removal of installed opam libraries doesn't really work currently. BTW, is there any reason why you added these two lines? |
(Also thanks @liyishuai for opening coq-community/docker-base#6 ) |
The reason was I wanted to upgrade Coq to the very latest version. When Coq developers submit a PR to |
yes, so yes a lag is possible if PRs have been merged since the morning, but unless the merged PRs at stake integrate a non-backward-compatible feature in Coq master (e.g. involving QuickChick overlays), I'd be tempted to say that this ~1-day lag wouldn't be that critical. If this is an issue, I understand why you considered doing this manual (because I'm afraid your current configuration will always recompile Coq+bignums due to the git-unpinning, even if the image is already up-to-date) How to get the latest SHA1 of Coq masterCOQ_BRANCH="master"
COQ_COMMIT=$(curl -fsL -X GET -H "Accept: application/vnd.github.v3.sha" https://api.github.com/repos/coq/coq/commits/${COQ_BRANCH})
echo $COQ_COMMIT (cf. https://github.com/coq-community/docker-coq/blob/dev/hooks/build#L15-L18 ) |
Actually @erikmd that is a functionality that could be provided by the docker image itself? Like setting "LASTEST_COQDEV` would mean the coq build is refreshed? [At some point we could indeed push a layer for each Coq commit?] |
Since coqorg/coq is built on Docker Hub, we can trigger builds upon pushes to Coq master branch with a webhook. |
Thanks for your comments! Actually we already discussed this suggestion once or twice (I didn't find again the issue number so maybe it was on gitter), and someone had proposed for example to switch to 2-automated builds per day, but we finally decided to keep the workflow as is. I don't say one such evolution is not desirable, I just say that the current architecture is a trade-off regarding the possible lag between but I guess the discussion starts going beyond this issue #36 😃 (which is BTW addressed by @liyishuai's PR coq-community/docker-base#6 with the |
@erikmd , I'm unsure if to open an issue about more frequent builds yet; one quick question, does the 90' minutes mark include the time to setup the opam switches? If yes, why isn't the Coq image reusing the OCaml build hashes? |
Discussed earlier in coq-community/docker-base#5 (comment), not certain if image sizes matter that much. I'd prefer reducing time to saving space. |
I see, thanks. So 90' for buliding Coq twice seems like a lot of time, let me have a look. |
I somewhat disagree here, as both criteria are important for me:
if we want to update
|
Actually I realize this issue does not deals with bignums but only with docker-base, so if you don't object I will transfer that issue to https://github.com/coq-community/docker-base/issues |
No, because the first step done by the docker-coq image is to pull a docker-base image. Actually it should be noted that the timing obtained in Docker Hub is strongly dependent on the infrastructure provided for its works, which seems significantly less efficient than Gitlab CI workers, in particular as mentioned in the following doc that I assume up-to-date: https://forums.docker.com/t/automated-build-resource-restrictions/1413
so even if I added some |
coqorg/coq:dev
with opam unpin coq; opam upgrade
That's the information I was looking for and I couldn't find, thanks @erikmd |
@liyishuai Note that if you're looking to work around this nightly build issue, you may be interested in the Nix solution that the coq-community templates also support. When using the coq-on-cachix repo, you have assurance that the version you test is pre-built but it can still be lagging behind (but usually not much). If you use the normal repo instead, Coq might need to be rebuilt but it will be always up-to-date. |
@Zimmi48 yes! but I believe the coq-on-cachix builds currently rely on OCaml 4.06.1 while @liyishuai was especially interested in OCaml >= 4.08.0 IIRC |
Checking against cutting-edge Coq is required by QuickChick CI, for Adapt to Coq PRs. QuickChick works fine on 4.06.1, I'll take a look at the coq-on-cachix approach. Side comment: macOS Catalina users can check out NixOS/nix#2925 (comment) |
OK @liyishuai ; but are you still interested in having BTW note that it is possible to use both |
Yes upgraded OCaml is still helpful to building Software Foundations. |
https://circleci.com/gh/liyishuai/QuickChick/116
The text was updated successfully, but these errors were encountered: