[julia-users] Re: Multi-OS (Linux + Mac) testing in Travis

2014-10-21 Thread Tony Kelman
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

2014-10-11 Thread Tony Kelman
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

2014-10-10 Thread Viral Shah
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

2014-10-10 Thread Jeff Waller
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.