Автоматическое подтверждение смеси эликсира

Я хочу запустить тесты своего приложения Phoenix на Travis-CI.

Отрывок из журнала:

$ 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] 

Когда дело доходит до получения и установки зависимостей, он спрашивает, следует ли установить hex. Мне было интересно, могу ли я передать --yes параметр для микширования, чтобы он не спрашивал, а просто устанавливался?


person nein.    schedule 18.09.2014    source источник


Ответы (2)


Как и в случае с любой другой командой unix, вы можете передать yes в команду mix:

yes | MIX_ENV=test mix do deps.get, compile, test
person Patrick Oscity    schedule 18.09.2014
comment
Это просто поразило меня. Внезапно само существование этой команды имеет такой смысл - person pfac; 02.07.2015
comment
С этим есть проблема в Docker (и, возможно, в других контекстах) - Erlang буферизует любой ввод, поэтому постоянный поток ввода «да» может вызвать переполнение. См. Этот ответ: stackoverflow.com / questions / 36522559 / Я полагаю, что ответ Фреда, Волшебного чудо-пса, будет лучшим ответом. - person PJeffes; 04.07.2016
comment
В самом деле ... даже в небольших приложениях это приведет к тому, что ваш процесс луча разорвется до гигабайт ОЗУ, пока не сработает OOM - person Martijn; 06.07.2016

Вы можете добавить эту команду в раздел before_install в .travis.yml

  • смешать local.hex --force

Конечно, вы уже установили эликсир в предыдущей команде. Я загрузил этот .travis.yml из существующего проекта эликсира на 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"
person Fred the Magic Wonder Dog    schedule 18.09.2014
comment
Я думаю, что это лучшее решение, и его следует принять в качестве ответа! - person Patrick Oscity; 19.09.2014