Caching of recompilation in CI

Hey everyone, has anyone got caching of package precompilation working in CircleCI, or a similar CI tool? Ideally I’d instantiate and precompile according to a Project.toml, and then save the ~/.julia folder so that future jobs can use this cache if the toml hasn’t changed by copying. Doing a local test of this approach with a docker container works well, but for some reason in CircleCI it only picks up that some packages are precompiled, with a message like

167 dependencies successfully precompiled in 356 seconds. 76 already precompiled

Which indicates the cache is sort of working but not completely. Any ideas as to what is going wrong?

A follow up on this: we traced this to be due to CircleCI truncating timestamps in its caching. Related PR in Julia: CircleCI caching: allow ftime to be ceil(ftime_req) in Base.stale_cachefile by nrontsis · Pull Request #47433 · JuliaLang/julia · GitHub

1 Like