The problem as I understand it is that on update or adding of new dependencies, the non-pinned transitive dependencies of pinned deps can change versions, which invalidates the layer cache before the sysimage build. This makes re-launching julia_pod take a while.
A solution would require pinning all transitive dependencies of pinned deps before the docker build is started. However this would require adding all transitive dependencies of pinned repos as explicit dependencies (you can't pin something you don't depend on), which is a bit much.
We could save out a Manifest.toml and Project.toml that have all the transitive deps explicit and pinned in a subfolder like julia_pod_build, which gets used if it exists and gets created if it doesn't.
The problem as I understand it is that on
update
oradd
ing of new dependencies, the non-pinned transitive dependencies of pinned deps can change versions, which invalidates the layer cache before the sysimage build. This makes re-launchingjulia_pod
take a while.A solution would require pinning all transitive dependencies of pinned deps before the docker build is started. However this would require adding all transitive dependencies of pinned repos as explicit dependencies (you can't pin something you don't depend on), which is a bit much.
We could save out a
Manifest.toml
andProject.toml
that have all the transitive deps explicit and pinned in a subfolder likejulia_pod_build
, which gets used if it exists and gets created if it doesn't.