Closed IainNZ closed 9 years ago
How can external dependencies be specified for PackageEvaluator.jl
? Is there some equivalent of the Travis before_install
scripts?
Thrift tests require the thrift binary to be built and installed. I prefer not to do this through BinDeps
as I feel there are many choices to be made while building/installing the dependencies which the package can not decide.
So the pre-test options go here: https://github.com/IainNZ/PackageEvaluator.jl/blob/master/extra/genresults.jl#L110-L145
But unless its fairly simple (e.g. 1 liner) I don't really want to do it - I'd rather just add a "not possible".
For Thrift.jl
the requirements are not other Julia packages. The pre-test steps involve patching, compiling (C++) and installing the native Thrift compiler. The steps in .travis.yml
for that are:
sudo apt-get install libboost1.55-dev libboost-test1.55-dev libboost-program-options1.55-dev libevent-dev automake libtool flex bison pkg-config g++ libssl-dev
currdir=`pwd`; cd /tmp; git clone -b julia https://github.com/tanmaykm/thrift.git; cd thrift; ./bootstrap.sh; ./configure --with-php=no --with-php_extension=no --with-perl=no --with-ruby=no --with-haskell=no --with-go=no --with-d=no --with-nodejs=no --with-erlang=no --with-csharp=no --with-java=no; sudo make install; cd $currdir
I could isolate the above to a separate shell/julia script that can be called by either travis or PackageEvaluator. Does PackageEvaluator launch a fresh VM instance for every test? Then I could call this pre-test setup script from within runtests.jl
.
This issue is being filed by a script, but if you reply, I will see it.
PackageEvaluator.jl is a script that runs nightly. It attempts to load all Julia packages and run their test (if available) on both the stable version of Julia (0.2) and the nightly build of the unstable version (0.3).
The results of this script are used to generate a package listing enhanced with testing results.
The status of this package, Thrift, on...
'No tests, but package loads.' can be due to their being no tests (you should write some if you can!) but can also be due to PackageEvaluator not being able to find your tests. Consider adding a
test/runtests.jl
file.'Package doesn't load.' is the worst-case scenario. Sometimes this arises because your package doesn't have BinDeps support, or needs something that can't be installed with BinDeps. If this is the case for your package, please file an issue and an exception can be made so your package will not be tested.
This automatically filed issue is a one-off message. Starting soon, issues will only be filed when the testing status of your package changes in a negative direction (gets worse). If you'd like to opt-out of these status-change messages, reply to this message.