Closed kolia closed 2 years ago
what happens if
Manifest.toml.julia_pod
contains a different version of a dep thanManifest.toml
?
A dep that is in both but with different versions would keep the version in Manifest.toml
, invalidate the docker cache and trigger a sysimage re-build.
Edited:
~Hmm, in that case, the Manifest.toml.julia_pod
should be overwritten with the new Manifest.toml
to reflect the new deps in the sysimage, let me fix that.~
This is no longer an issue, since I am now only listing sysimage package names, instead of saving the full Manifest.toml
that contains version info.
Ready for re-review.
This should result in fewer sysimage builds during docker builds, which is by far the longest build step generally.
Instead of basing the subset of deps included in the sysimage off of pinned packages, this:
Manifest.toml.julia_pod
~julia_pod/sysimage.packages
listing dependencies to possibly include in the sysimage, and use it in a way that allows for packages to be added without invalidating the cached sysimage layer.The rationale for this change is that:
Edit: This also defines and makes use of a
startup.jl
file, which gets copied to.julia/config/startup.jl
in the pod, and saves thesysimage.jl
andstartup.jl
files to a new localjulia_pod/
folder alongsidejulia_pod/sysimage.packages
, for hygene.closes #37