Hi all, I maintain pkg.julialang.org, and the automatic package testing system ( PackageEvaluator.jl <https://github.com/IainNZ/PackageEvaluator.jl>)
Until now PackageEvaluator was run on an Arch Linux box as a normal user account, and there wasn't really a practical way of installing system-wide binary dependencies (i.e. dependencies that can't be installed or aren't installed by BinDeps). There was also an issue of reproducibility: things might be broken according to PackageEvaluator, but work on your machine, and there was no good way to figure out why if the logs weren't helpful (except for manual intervention on my part). I've reorganized/refactored/reworked it, and now its a much more sustainable design: - Uses the generic linux binaries for 0.3 and 0.4 - Tests run on Ubuntu 12.04 (ubuntu/precise64) - Runs inside a VirtualBox virtual machine - Launched and configured via Vagrant <https://www.vagrantup.com/> The bit where the results are post-processed into a format for the website still have a human in the loop (me), and aren't well documented, but thats another project. A consequence of all this is that *some packages are now broken on PackageEvaluator, and I might need your help to fix them*. Here is a list of what broke (scroll down) <http://pkg.julialang.org/pulse.html> The probable reason they are broken is due to some binary dependency they need that aren't present in the image. Unlike before, I'm now quick happy to install binary dependencies to make testing work. In particular, very few Python-based packages were tested before, but I'm hoping to get them to work. *Please submit pull requests to https://github.com/IainNZ/PackageEvaluator.jl/blob/master/scripts/setup.sh <https://github.com/IainNZ/PackageEvaluator.jl/blob/master/scripts/setup.sh> with any changes that you'll need to get your package going. * I'm also interested in PRs that refactor the provisioning script setup.sh - my Bash skills are weak Also: adding interesting outputs to the PackageEvaluator process. For example, I've just started collecting all exported names from all packages for this issue <https://github.com/JuliaLang/julia/issues/10272>. What else could you do with a system that is downloading and installing every package every night? I'll work on further documenting all this to ensure maximum developer-friendliness. Thanks, Iain
