-
Notifications
You must be signed in to change notification settings - Fork 3
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
Goals of this repository #1
Comments
Thanks for posting this issue. I will come back to it soon. |
Just did a quick experiment and adapted the dockerfile from PR #3 to use
So the base image size probably isn't the problem. But the packages we install are. Yet it still saves substantially compared to One interesting task would be to figure out how much each individual package we install adds. And then perhaps some could be omitted. As a first quick test, I checked what happens if I reduce the packages to what is necessary to build just GAP:
The result already weighs 798MB. As it turns out, installing the macaulay2 packages adds 1.3 GB (!). Ironically, we install this for the sake of homalg tests, but actually currently the homalg packages don't even specify a The pari-gp and polymake packages each seem to install about ~450 MB. Singular ~150 MB. I wonder: is there a way to "extend" the standard GitHub images in a way that leverage layering? What I mean is this: they already use Ubuntu images for their runners, and clearly those are preloaded on the runner machines, so are fast. If we could just layer our images atop those, and if GH's infrastructure is able to make use of this (by reusing the already present base image) then we could potentially safe quite a bit, as at least (most of) those 798 MB I just listed are already in there. One final thought: some of these packages are needed to build packages. Some of them are only needed to run packages. The latter include some big ones: macaulay2, pari-gp, polymake, singular. Perhaps we should just omit those in the "all-deps" image (resp. in a subimage of that, called "all-build-deps" or so), and then install them only during CI, and only in those CI jobs that really need them... |
|
I stand corrected, I simply didn't read carefully enough and oversaw the complete left side of my monitor where it says "everything free for open source" 🤦🏼♂️ my bad. |
I just stumbled across this issue and have some things to add:
|
Let's collect some goals for this repository, to see if we can agree on a common vision; then next we can see how to implement them and who will do it. CC @ZachNewbery @alex-konovalov @james-d-mitchell @wilfwilson please feel free to edit this and/or to comment on it all.
Overarching goal is to merge all existing GAP docker repositories into this one. The resulting images shall be used for...
We'll want a "matrix" of image variants along several axes:
GAP variants
master
branch (updated nightly)stable-4.x
branches (updated nightly, but ideally only if there really were changes to the branch?)v4.x.y
tags in the GAP repo, and accessible here under the same tagsv4.11
orv4.11-latest
or solatest
tag which maps to whatever is the latest GAP releasedependencies / packages
PackageManager
, for obvious reasonsSome further ideas (should perhaps be moved to separate issues):
The text was updated successfully, but these errors were encountered: