Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Elixir mix auto acknowledge

I want to run tests of my Phoenix app on Travis-CI.

Log excerpt:

$ MIX_ENV=test mix do deps.get, compile, test

Could not find hex, which is needed to build dependency :phoenix

Shall I install hex? [Yn] 

When it comes to fetching and installing dependencies, it asks if it should install hex. I was wondering if I can pass a --yes option to mix so that it doesn't ask but just installs?

like image 297
nein. Avatar asked Sep 18 '14 11:09

nein.


2 Answers

As with any unix command, you could pipe yes into the mix command:

yes | MIX_ENV=test mix do deps.get, compile, test
like image 51
Patrick Oscity Avatar answered Oct 01 '22 14:10

Patrick Oscity


You can add this command to your before_install section in .travis.yml

  • mix local.hex --force

After of course, you've already installed elixir in a previous command. I cargo culted this .travis.yml from an existing elixir project on github.

language: erlang
env:
  - ELIXIR="v1.0.0"
otp_release:
  - 17.1
before_install:
  - mkdir -p vendor/elixir
  - wget -q https://github.com/elixir-lang/elixir/releases/download/$ELIXIR/Precompiled.zip && unzip -qq Precompiled.zip -d vendor/elixir
  - export PATH="$PATH:$PWD/vendor/elixir/bin"
  - mix local.hex --force
script: "MIX_ENV=test mix do deps.get, test"
like image 37
Fred the Magic Wonder Dog Avatar answered Oct 01 '22 14:10

Fred the Magic Wonder Dog