11version : 2
22
3- install_elixir : &install_elixir
4- run :
5- name : Install Elixir
6- command : |
7- wget https://repo.hex.pm/builds/elixir/v$ELIXIR_VERSION.zip
8- unzip -d /usr/local/elixir v$ELIXIR_VERSION.zip
9- echo 'export PATH=/usr/local/elixir/bin:$PATH' >> $BASH_ENV
3+ defaults : &defaults
4+ working_directory : ~/repo
5+ environment :
6+ LC_ALL : C.UTF-8
107
118install_hex_rebar : &install_hex_rebar
129 run :
@@ -19,101 +16,80 @@ install_system_deps: &install_system_deps
1916 run :
2017 name : Install system dependencies
2118 command : |
22- apt update
23- apt install -y unzip libmnl-dev libnl-genl-3-dev
24-
25- defaults : &defaults
26- working_directory : ~/repo
19+ apk add build-base linux-headers libmnl-dev libnl3-dev git
2720
2821jobs :
29- build_elixir_1_10_otp_23 :
22+ build_elixir_1_11_otp_23 :
3023 docker :
31- - image : erlang:23.0.3
32- environment :
33- ELIXIR_VERSION : 1.10.4-otp-23
34- LC_ALL : C.UTF-8
24+ - image : hexpm/elixir:1.11.4-erlang-23.3-alpine-3.13.2
3525 << : *defaults
3626 steps :
3727 - checkout
38- - << : *install_system_deps
39- - << : *install_elixir
4028 - << : *install_hex_rebar
29+ - << : *install_system_deps
4130 - restore_cache :
4231 keys :
4332 - v1-mix-cache-{{ checksum "mix.lock" }}
4433 - run : mix deps.get
45- - run : mix coveralls.circle
34+ - run : mix test
4635 - run : mix format --check-formatted
36+ - run : mix deps.unlock --check-unused
37+ - run : mix compile --warnings-as-errors
4738 - run : mix docs
4839 - run : mix hex.build
4940 - run : mix credo -a
5041 - run : mix dialyzer
42+ - run : mix coveralls.circle || true
5143 - save_cache :
5244 key : v1-mix-cache-{{ checksum "mix.lock" }}
5345 paths :
5446 - _build
5547 - deps
5648
57- build_elixir_1_10_otp_22 :
49+ build_elixir_1_10_otp_23 :
5850 docker :
59- - image : erlang:22.3.4.1
60- environment :
61- ELIXIR_VERSION : 1.10.3-otp-22
62- LC_ALL : C.UTF-8
51+ - image : hexpm/elixir:1.10.4-erlang-23.3-alpine-3.13.2
6352 << : *defaults
6453 steps :
6554 - checkout
66- - << : *install_system_deps
67- - << : *install_elixir
6855 - << : *install_hex_rebar
56+ - << : *install_system_deps
6957 - run : mix deps.get
7058 - run : mix compile
7159 - run : mix test
7260
7361 build_elixir_1_9_otp_22 :
7462 docker :
75- - image : erlang:22.2
76- environment :
77- ELIXIR_VERSION : 1.9.4-otp-22
78- LC_ALL : C.UTF-8
63+ - image : hexpm/elixir:1.9.4-erlang-22.3.4.9-alpine-3.13.1
7964 << : *defaults
8065 steps :
8166 - checkout
82- - << : *install_system_deps
83- - << : *install_elixir
8467 - << : *install_hex_rebar
68+ - << : *install_system_deps
8569 - run : mix deps.get
8670 - run : mix compile
8771 - run : mix test
8872
8973 build_elixir_1_8_otp_22 :
9074 docker :
91- - image : erlang:22.0
92- environment :
93- ELIXIR_VERSION : 1.8.2-otp-22
94- LC_ALL : C.UTF-8
75+ - image : hexpm/elixir:1.8.2-erlang-22.3.4.9-alpine-3.13.1
9576 << : *defaults
9677 steps :
9778 - checkout
98- - << : *install_system_deps
99- - << : *install_elixir
10079 - << : *install_hex_rebar
80+ - << : *install_system_deps
10181 - run : mix deps.get
10282 - run : mix compile
10383 - run : mix test
10484
10585 build_elixir_1_7_otp_21 :
10686 docker :
107- - image : erlang:21.3
108- environment :
109- ELIXIR_VERSION : 1.7.4-otp-21
110- LC_ALL : C.UTF-8
87+ - image : hexpm/elixir:1.7.4-erlang-21.3.8.15-alpine-3.12.0
11188 << : *defaults
11289 steps :
11390 - checkout
114- - << : *install_system_deps
115- - << : *install_elixir
11691 - << : *install_hex_rebar
92+ - << : *install_system_deps
11793 - run : mix deps.get
11894 - run : mix compile
11995 - run : mix test
@@ -122,8 +98,8 @@ workflows:
12298 version : 2
12399 build_test :
124100 jobs :
101+ - build_elixir_1_11_otp_23
125102 - build_elixir_1_10_otp_23
126- - build_elixir_1_10_otp_22
127103 - build_elixir_1_9_otp_22
128104 - build_elixir_1_8_otp_22
129105 - build_elixir_1_7_otp_21
0 commit comments