Building an Elixir Project

What This Guide Covers

Language versions and other build-environment specific information are in our reference pages:

The rest of this guide covers build environment and configuration topics specific to Elixir projects. Please make sure to read our Getting Started and general build configuration guides first.

Elixir builds are not available on the OS X environment.

CI Environment for Elixir Projects

To choose the Elixir VM, declare in your .travis.yml:

language: elixir

Specify which Elixir version to build with

You can specify Elixir version to build with by the elixir key.

For example,

elixir: '1.5.2'


elixir: '1.5'

The former points to the specific release indicated, while the latter points to the latest development branch build which has latest patches but may be occasionally be broken. See this GitHub issue comment for more details.

Specifying OTP Release version

Note that Elixir has requirements regarding the underlying Erlang OTP Release version.

If the specified OTP Release version (implicity or explicitly) does not meet this requirement, Travis CI will choose one for you.

You can also override this OTP Release choice by adding the otp_release. For example:

language: elixir
  - '1.2.2'
  - '18.2.1'

To test multiple Elixir versions with different OTP release versions:

language: elixir

  - '1.0.5'
otp_release: '17.4'

    - elixir: '1.2'
      otp_release: '18.0'

Build Matrix

For elixir projects, env, elixir and otp_release can be given as arrays to construct a build matrix.

Default commands

By default, the install command is

mix local.rebar --force # for Elixir 1.3.0 and up
mix local.hex --force
mix deps.get

and the script command is

mix test

Environment Variables

The version of Elixir a job is using is available as:


As with the Erlang VM, the version of OTP release a job is using is available as: