Here’s an updated example for anyone coming to this later (I had to remove any environment variables that depend on another environment variable):
language: erlang
otp_release:
- '21.2'
env:
EX_HOME: ${TRAVIS_BUILD_DIR}/elixir
EX_BIN: ${TRAVIS_BUILD_DIR}/elixir/bin
EX_VSN: 1.7.1
before_script:
- git clone https://github.com/elixir-lang/elixir.git ${EX_HOME}
- pushd ${EX_HOME}
- git checkout v${EX_VSN}
- make
- popd
- ${EX_BIN}/elixir ${EX_BIN}/mix local.hex --force
- ${EX_BIN}/elixir ${EX_BIN}/mix local.rebar --force
script:
- ${EX_BIN}/elixir ${EX_BIN}/mix deps.get
- MIX_ENV=test ${EX_BIN}/elixir ${EX_BIN}/mix deps.compile
- ${EX_BIN}/elixir ${EX_BIN}/mix test


















