-
Notifications
You must be signed in to change notification settings - Fork 18
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
Don't mutate pkg dir, use cache dir instead (and put artifacts in it) #68
Conversation
2cf9942
to
f40fe66
Compare
Paging @staticfloat: any idea where these failures come from? Basically, when adding artifact caching by mounting '.cache/NewPkgEval/artifacts' to '.julia/artifacts' in the container, several JLLs fail to install when ading Gtk: Xorg_libxkbfile on 1.3.0
Fontconfig on 1.5
PCRE on 1.3
at_spi2_atk on 1.5
Could this be due to non-atomic changes to the artifact store? But this happens when installing, in parallel, Gtk, Crayons, Example and TimerOutputs. Only Gtk requires these JLLs, so I don't see where the races could come from (I don't think Travis would automaticalily share home folders across jobs?). If this approach is fundamentally flawed, any suggestions for alternative approaches to cache artifacts across NewPkgEval jobs? I basically want to avoid a 500MB download for every package that depends on CuArrays. |
I know I could use a PkgServer for this, but that may be a little early to build PkgEval on (not supporting older versions of Julia), and I'd like to avoid the need to orchestrate multiple containers. Maybe I just have to, though. Do we have some infra for a simple caching PkgServer? |
Yes, see https://github.com/JuliaPackaging/PkgServer.jl/tree/master/deployment
Hmmmm. Unsure. It seems more likely to me that this is a download issue than that its an unpacking issue. Is this only happening on 1.3, or does it happen on 1.4 as well? |
I don't test 1.4 here, but it happens both on 1.3 and master. And it definitely has something to do with sharing |
Ah, are you installing multiple copies of the same artifact at once? I suppose that is possible, but it should be fairly atomic; things are downloaded and unpacked into randomly-named directories, then the directory is moved to the final location after the treehash is verified. The only thing I can think of is that this |
921e5b7
to
cd0480a
Compare
Never mind, redefining
|
e01a0bc
to
6d0631d
Compare
Fixes #41, fixes #42