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

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
elixir:
  - 1.2.2
otp_release:
  - 18.2.1

To test multiple Elixir versions with different OTP release versions:

language: elixir

elixir:
  - 1.0.5
otp_release: 17.4

matrix:
  include:
    - 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:

TRAVIS_ELIXIR_VERSION

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

TRAVIS_OTP_RELEASE