-
Notifications
You must be signed in to change notification settings - Fork 20
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
Compiled mode: Run tests with custom system image #80
Conversation
ea5e43c
to
7e7ca9d
Compare
1055cff
to
b0e99b6
Compare
And some results: https://github.com/maleadt/packagecompiler_report/blob/08cc1a7a4aa7d4a8ae12d2b03d11369716c08bd7/REPORT.md Summarized:
Not too bad, I guess? cc @KristofferC |
Most of the |
A lot of them are also for packages using some local file. JuliaLang/julia#38696 could be a way to help with that. |
2a1df75
to
9e4f648
Compare
@maleadt Do you move the compiled system image to a different path and perhaps even different user account before running? A lot of the images fail when they are run in a different place. In fact it would be nice to run in-place and then a different place and see which ones fail. |
The system image is built on Ubuntu, with the depot in I don't put the system image itself in another path, but that doesn't matter (no package is going to contain hard-coded references to the active system image). I currently don't use a different user account, maybe it would be valuable to add that too in case there's hard-coded references to the users home folder -- but we already catch many instances of that because packages usually refer to existing files there (and by using a fresh containers there are no files at those paths). |
I have heard complaints about stuff not working when the system image is moved to a different path, because packages sometimes hardcode paths at image building time. So when those absolute paths are not present on a different user's computer, things break. |
Paths to the system image itself? How would that happen? |
Can we note somewhere the size of the generated system image? |
7eb3bd6
to
5c96587
Compare
de069e8
to
2ce4305
Compare
2ce4305
to
1822662
Compare
1822662
to
4fa1cb7
Compare
Would be nice to get this merged so we can test if packages can reliably be compiled into system images. |
There isn't a real UI though, and it's not really suited for Nanosoldier (which compares multiple versions of Julia). Maybe a special mode? |
Yeah, the comparison we really want here is, for the same version of Julia, to compare regular package tests to the "compiled mode", and list out packages that pass on the regular package tests but fail on the "compiled mode". |
4fa1cb7
to
57231ec
Compare
OK, this has been rebased and updated to work on Sandbox.jl now. I'll have a look at integrating with Nanosoldier. |
Initial stab at #79. Uses PackageCompiler to generate a custom systemimage that includes the package we're interested in (albeit without any precompilation statements, but I don't think that matters). It then uses that system image to run tests, but in a slightly different container (Arch Linux based) and with a different depot.
TODO: