[julia-users] Re: Multi-OS (Linux + Mac) testing in Travis
Little update: you can now replace that big if [ `uname` = Linux ] mess in the before_install section with the following: before_install: - curl http://julialang.org/install-julia.sh | sh -s $JULIAVERSION and it'll work whether or not you've turned on multi-OS support, grabbing the right binary for whatever platform the build worker is using. The script doesn't include the git fetch --unshallow step, so you'll still need that. Any non-Julia binary packages that your package needs to have preinstalled (if BinDeps doesn't take care of them) will still need to be handled in a platform-dependent manner, so apt-get on the Ubuntu workers and homebrew or similar on OSX. On Saturday, October 11, 2014 4:49:24 AM UTC-7, Tony Kelman wrote: You're very welcome Jeff. More testing of more packages on more platforms is a good thing. Keep an eye on (and share your opinion in) https://github.com/JuliaLang/julia/issues/7364 for how to possibly simplify the installation code. Might put up a single script with all the OS logic so you could do something like `curl http://julialang.org/install-julia.sh | sh -s $JULIAVERSION`. I know Travis would like to eventually support Windows as well ( https://github.com/travis-ci/travis-ci/issues/2104), but that may still be a long way off. The best solution for package testing right now is www.appveyor.com. You'll need a separate appveyor.yml file that looks something like this https://github.com/tkelman/Cairo.jl/blob/tk/appveyor/appveyor.yml, it needs to be slightly changed for different package names due to the folder names that AppVeyor clones into. On Friday, October 10, 2014 9:21:46 PM UTC-7, Jeff Waller wrote: Wow, this is exactly what I need. As I just got Travis functional last night for the first time @ 3 (you should see the crazy binding.gyp file), I feel the universe is reaching out to me. Thanks, Tony, thanks, universe.
[julia-users] Re: Multi-OS (Linux + Mac) testing in Travis
You're very welcome Jeff. More testing of more packages on more platforms is a good thing. Keep an eye on (and share your opinion in) https://github.com/JuliaLang/julia/issues/7364 for how to possibly simplify the installation code. Might put up a single script with all the OS logic so you could do something like `curl http://julialang.org/install-julia.sh | sh -s $JULIAVERSION`. I know Travis would like to eventually support Windows as well (https://github.com/travis-ci/travis-ci/issues/2104), but that may still be a long way off. The best solution for package testing right now is www.appveyor.com. You'll need a separate appveyor.yml file that looks something like this https://github.com/tkelman/Cairo.jl/blob/tk/appveyor/appveyor.yml, it needs to be slightly changed for different package names due to the folder names that AppVeyor clones into. On Friday, October 10, 2014 9:21:46 PM UTC-7, Jeff Waller wrote: Wow, this is exactly what I need. As I just got Travis functional last night for the first time @ 3 (you should see the crazy binding.gyp file), I feel the universe is reaching out to me. Thanks, Tony, thanks, universe.
[julia-users] Re: Multi-OS (Linux + Mac) testing in Travis
Now, if only they had Windows! -viral On Friday, October 10, 2014 11:19:26 PM UTC+5:30, Tony Kelman wrote: Heads up for package developers - looks like Travis got some additional capacity and is accepting new repositories for multi-OS support. See http://docs.travis-ci.com/user/multi-os/ - you need to send an email to supp...@travis-ci.com asking them to enable multi-OS support for your package, with a link to the repository. Then change your .travis.yml as follows: Add ``` os: - linux - osx ``` Replace ``` before_install: - sudo add-apt-repository ppa:staticfloat/julia-deps -y - sudo add-apt-repository ppa:staticfloat/${JULIAVERSION} -y - sudo apt-get update -qq -y - sudo apt-get install libpcre3-dev julia -y ``` with ``` before_install: - if [ `uname` = Linux ]; then sudo add-apt-repository ppa:staticfloat/julia-deps -y; sudo add-apt-repository ppa:staticfloat/${JULIAVERSION} -y; sudo apt-get update -qq -y; sudo apt-get install libpcre3-dev julia -y; elif [ `uname` = Darwin ]; then if [ $JULIAVERSION = julianightlies ]; then wget -O julia.dmg http://status.julialang.org/download/osx10.7+ ; else wget -O julia.dmg http://status.julialang.org/stable/osx10.7+;; fi; hdiutil mount julia.dmg; cp -Ra /Volumes/Julia/*.app/Contents/Resources/julia ~; export PATH=$PATH:$(echo ~)/julia/bin; fi ``` Elliot got this working a while back when Travis originally announced the feature, I just tweaked it a little so it works whether or not you've enabled multi-OS support. To force a build on a Mac worker before Travis responds to your email, you can temporarily change `language: cpp` to `language: objective-c`. I think you'll need to change it back to get builds on both Linux and Mac once support is enabled. I'll probably make a PR to base to turn this on in the default .travis.yml from Pkg.generate, since it doesn't hurt anything. -Tony
[julia-users] Re: Multi-OS (Linux + Mac) testing in Travis
Wow, this is exactly what I need. As I just got Travis functional last night for the first time @ 3 (you should see the crazy binding.gyp file), I feel the universe is reaching out to me. Thanks, Tony, thanks, universe.