-
Notifications
You must be signed in to change notification settings - Fork 4
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
Base image should try to install Coq deps. #7
Comments
Thanks @ejgallego, I'll have a look − you're right that installing all this could speedup the docker-coq build if this is already done in docker-base. But, is it an issue if some of these dependencies are not being used for most Coq versions? (as IINM,
BTW as a disclaimer of "the Coq build in docker takes so long", see my comment in that other issue: |
Yes, it is a superset. But in particular building dune in 4.05 is taking a very long time per N times so the processing power savings are considerable.
I see that info is from 2015, I'd be surprised the specs hadn't gone a bit better, maybe we could try getting some worker information as we do in Coq's CI docker? I'd definitively try A significant slowdown is using opam :/ for whatever reason, opam install is very very slow with the large amount of files Coq has. |
OK.
I propose:
Good idea, we can do this. Which shell commands would you suggest? |
sound good.
even 2.4.0 would work better, while 2.0.1 is the minimal supported version for now, it won't be long until we require 2.5.0 for dev; 2.4.0 is much better also for image users that use dune to build Coq developments. That should save ~20 minutes build time [or more] I think.
yes, we should ping both, |
Thanks @ejgallego ! Also, regarding your other suggestion
do you have specific shell commands in mind? |
Thanks to you @erikmd
That's what we use in gitlab as to debug:
I'm not sure this would help with docker, but at least we get a good idea of what kind of machine builds are running [as it is quite variable] |
of course careful with the printenv, as it may leak protected variables [we only run that on non-deploy builds] |
OK so maybe |
As you prefer, for us ENV variables have been useful but indeed they do carry security implications. |
FYI:
|
Merci @erikmd ; given that kind of worker I'd say try with -j2 , it can help a bit depending on IO bottlenecks. |
For the record the base images have been rebuilt with
@ejgallego can we close that issue #7 ? (then I'll resume the plan suggested in #4 (comment) ) |
Looks good, thanks a lot @erikmd ! The size increase is a bit unfortunate due to 4.05.0 having to install |
While trying to understand why the Coq build in docker takes so long, I realized that installing the dependencies in the coq images takes a very long time.
A big part of this is due to
dune
, which requiresocaml-secondary-compiler
in 4.05.0 which is a quite heavy package.I suggest to follow the approach used in Coq's CI docker an preinstall a set of dependencies, in particular
BASE_OPAM="num ocamlfind.1.8.1 dune.2.0.1 ounit.2.0.8 odoc.1.4.2"
[or newer if you wish].By the way, how is the number of cores /
-j
option determined for docker hub builds?The text was updated successfully, but these errors were encountered: