-
Notifications
You must be signed in to change notification settings - Fork 9
/
.travis.yml
48 lines (48 loc) · 1.41 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
language: bash
os:
- linux
- osx
env:
global:
- MIX_ENV=test
- ASDF_VERSION=v0.7.2
cache:
directories:
- _build
- deps
- ${HOME}/.asdf
before_cache:
- rm ${TRAVIS_BUILD_DIR}/_build/test/lib/husky/.mix/compile.elixir
before_install: >-
echo "initialize dev/sandbox repo" &&
git init ${TRAVIS_BUILD_DIR}/dev/sandbox &&
echo "[asdf] install asdf if it does not already exist" &&
[ "$(ls ${HOME}/.asdf)" ] || git clone https://github.com/asdf-vm/asdf.git ${HOME}/.asdf &&
echo "[asdf] checkout the correct asdf version (${ASDF_VERSION})" &&
(cd ${HOME}/.asdf && git rev-parse --abbrev-ref HEAD | grep heads/${ASDF_VERSION} || git checkout $(git describe --abbrev=0 --tags) ) &&
echo "[asdf] source asdf.sh script" &&
. ${HOME}/.asdf/asdf.sh &&
echo "[asdf] install elixir and erlang plugins" &&
[ -e "${HOME}/.asdf/plugins/elixir" ] || asdf plugin-add elixir &&
[ -e "${HOME}/.asdf/plugins/erlang" ] || asdf plugin-add erlang &&
travis_wait asdf install
install:
- mix local.rebar --force
- mix local.hex --force
- mix deps.get
- mix compile
script:
- mix format --check-formatted
- mix credo --strict
- mix test
deploy:
provider: script
script: >-
git init ${TRAVIS_BUILD_DIR}/../../ &&
rm -f priv/husky &&
MIX_ENV=prod mix deps.get &&
MIX_ENV=prod mix escript.build &&
MIX_ENV=dev mix hex.publish --yes &&
git clean -f
on:
tags: true