Friday, March 28, 2014

Elixir and breakage on Travis

Development on Elixir is still moving at break neck speed and currently they have bumped up their Erlang version to support RB17-r1 for the map support.

There is a lot of delicious goodness that will eventually come but this also causes a lot of fun breakage on Travis and Drone.io if you test your projects there.

Currently while Travis supports RB17-r1 in their otp_release, you might want to choose not to test your apps against that. If that is the case, you can change your .travis.yml from using trunk to using a release by changing the steps a little bit:

 
otp_release:
     - R16B03-1
before_install: 
     - git clone git://github.com/elixir-lang/elixir
     - cd elixir && make && cd ..
 before_script:
    - "export PATH=`pwd`/elixir/bin:$PATH"
    - export PATH=`pwd`/elixir/bin:$PATH
     - MIX_ENV=test mix do deps.get
 script:
     - MIX_ENV=test mix test
 
To:
 
otp_release:
    - R16B02
before_install:
    - wget -c https://github.com/elixir-lang/elixir/archive/v0.12.5.tar.gz
    - tar -xvzf v0.12.5.tar.gz
    - cd elixir-0.12.5 && make && cd ..
before_script:
    - export PATH=`pwd`/elixir-0.12.5/bin:$PATH
    - MIX_ENV=test mix do deps.get
    - MIX_ENV=test mix do deps.compile
script:
    - MIX_ENV=test mix amrita --trace 

 
 
The drone.io settings should be something similar. 
 
Found a better way of doing this which is you don't really have to use the manual wget method but you can just clone the repo then check out a branch within it. That way you don't have to tangle with all the version string messiness. Check out my final version:

https://raw.githubusercontent.com/lowks/Radpath/master/.travis.yml

No comments: