1515 BUILD_EMBEDDED : true
1616 DIALYZER_PLT_PRIV : true
1717 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
18+ DEFAULT_ELIXIR_VERSION : 1.13
19+ DEFAULT_OTP_VERSION : 24.1
1820
1921jobs :
2022
@@ -26,25 +28,20 @@ jobs:
2628 env :
2729 MIX_ENV : dev
2830
29- strategy :
30- fail-fast : false
31- matrix :
32- otp : [24.1.1]
33- elixir : [1.12.3]
34-
3531 steps :
3632 - uses : actions/checkout@v2
3733 - uses : erlef/setup-elixir@v1
34+ id : setup-elixir
3835 with :
39- otp-version : ${{matrix.otp}}
40- elixir-version : ${{matrix.elixir}}
36+ otp-version : " ${{ env.DEFAULT_OTP_VERSION }} "
37+ elixir-version : " ${{ env.DEFAULT_ELIXIR_VERSION }} "
4138 - uses : actions/cache@v2
4239 with :
4340 path : deps
44- key : deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
41+ key : deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
4542 restore-keys : |
46- deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-
47- deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-
43+ deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-
44+ deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-
4845 - run : mix deps.get
4946 - run : mix format --check-formatted
5047
@@ -59,42 +56,34 @@ jobs:
5956 strategy :
6057 fail-fast : false
6158 matrix :
62- otp : [21.3, 22.3, 23.3, 24.1.1]
63- elixir : [1.8.2, 1.9.4, 1.10.4, 1.11.4, 1.12.3]
64- exclude :
65- - otp : 21.3
66- elixir : 1.12.3
67- - otp : 24.1.1
68- elixir : 1.8.2
69- - otp : 24.1.1
70- elixir : 1.9.4
59+ otp : [22.3, 23.3, 24.1]
60+ elixir : [1.12, 1.13]
7161
7262 steps :
7363 - uses : actions/checkout@v2
7464 - uses : erlef/setup-elixir@v1
65+ id : setup-elixir
7566 with :
76- otp-version : ${{matrix.otp}}
77- elixir-version : ${{matrix.elixir}}
67+ otp-version : ${{ matrix.otp }}
68+ elixir-version : ${{ matrix.elixir }}
7869 - uses : actions/cache@v2
7970 with :
8071 path : deps
81- key : deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
72+ key : deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
8273 restore-keys : |
83- deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-
84- deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-
74+ deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-
75+ deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-
8576 - run : mix deps.get
8677 - uses : actions/cache@v2
8778 with :
8879 path : _build/test
89- key : compile_test-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
80+ key : compile_test-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
9081 restore-keys : |
91- compile_test-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-
92- compile_test-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-
82+ compile_test-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-
83+ compile_test-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-
9384 - run : mix deps.compile --skip-umbrella-children
9485 - run : mix compile --warning-as-errors
9586 - run : mix coveralls.github --umbrella || mix test
96- env :
97- DATABASE_PORT : ${{ job.services.postgres.ports[5432] }}
9887
9988 credo :
10089 name : Check Credo
@@ -104,33 +93,28 @@ jobs:
10493 env :
10594 MIX_ENV : dev
10695
107- strategy :
108- fail-fast : false
109- matrix :
110- otp : [24.1.1]
111- elixir : [1.12.3]
112-
11396 steps :
11497 - uses : actions/checkout@v2
11598 - uses : erlef/setup-elixir@v1
99+ id : setup-elixir
116100 with :
117- otp-version : ${{matrix.otp}}
118- elixir-version : ${{matrix.elixir}}
101+ otp-version : " ${{ env.DEFAULT_OTP_VERSION }} "
102+ elixir-version : " ${{ env.DEFAULT_ELIXIR_VERSION }} "
119103 - uses : actions/cache@v2
120104 with :
121105 path : deps
122- key : deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
106+ key : deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
123107 restore-keys : |
124- deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-
125- deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-
108+ deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-
109+ deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-
126110 - run : mix deps.get
127111 - uses : actions/cache@v2
128112 with :
129113 path : _build/dev
130- key : compile_dev-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
114+ key : compile_dev-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
131115 restore-keys : |
132- compile_dev-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-
133- compile_dev-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-
116+ compile_dev-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-
117+ compile_dev-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-
134118 - run : mix deps.compile --skip-umbrella-children
135119 - run : mix compile --warning-as-errors
136120 - run : mix credo --strict
@@ -143,46 +127,41 @@ jobs:
143127 env :
144128 MIX_ENV : dev
145129
146- strategy :
147- fail-fast : false
148- matrix :
149- otp : [24.1.1]
150- elixir : [1.12.3]
151-
152130 steps :
153131 - uses : actions/checkout@v2
154132 - uses : erlef/setup-elixir@v1
133+ id : setup-elixir
155134 with :
156- otp-version : ${{matrix.otp}}
157- elixir-version : ${{matrix.elixir}}
135+ otp-version : " ${{ env.DEFAULT_OTP_VERSION }} "
136+ elixir-version : " ${{ env.DEFAULT_ELIXIR_VERSION }} "
158137 - uses : actions/cache@v2
159138 with :
160139 path : deps
161- key : deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
140+ key : deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
162141 restore-keys : |
163- deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-
164- deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-
142+ deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-
143+ deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-
165144 - run : mix deps.get
166145 - uses : actions/cache@v2
167146 with :
168147 path : _build/dev
169- key : compile_dev-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
148+ key : compile_dev-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
170149 restore-keys : |
171- compile_dev-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-
172- compile_dev-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-
150+ compile_dev-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-
151+ compile_dev-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-
173152 - run : mix deps.compile --skip-umbrella-children
174153 - run : mix compile --warning-as-errors
175154 - uses : actions/cache@v2
176155 with :
177156 path : priv/plts/
178- key : dialyzer_plt_dev-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
157+ key : dialyzer_plt_dev-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
179158 restore-keys : |
180- dialyzer_plt_dev-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-
181- dialyzer_plt_dev-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-
159+ dialyzer_plt_dev-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-
160+ dialyzer_plt_dev-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-
182161 - run : mix dialyzer --plt
183162 - uses : actions/upload-artifact@v2
184163 with :
185- name : dialyzer_plt_dev-${{matrix. otp}}-${{matrix. elixir}}
164+ name : dialyzer_plt_dev-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}
186165 path : priv/plts/
187166
188167 dialyzer_test :
@@ -195,38 +174,33 @@ jobs:
195174 env :
196175 MIX_ENV : dev
197176
198- strategy :
199- fail-fast : false
200- matrix :
201- otp : [24.1.1]
202- elixir : [1.12.3]
203-
204177 steps :
205178 - uses : actions/checkout@v2
206179 - uses : erlef/setup-elixir@v1
180+ id : setup-elixir
207181 with :
208- otp-version : ${{matrix.otp}}
209- elixir-version : ${{matrix.elixir}}
182+ otp-version : " ${{ env.DEFAULT_OTP_VERSION }} "
183+ elixir-version : " ${{ env.DEFAULT_ELIXIR_VERSION }} "
210184 - uses : actions/cache@v2
211185 with :
212186 path : deps
213- key : deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
187+ key : deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
214188 restore-keys : |
215- deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-
216- deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-
189+ deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-
190+ deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-
217191 - run : mix deps.get
218192 - uses : actions/cache@v2
219193 with :
220194 path : _build/dev
221- key : compile_dev-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
195+ key : compile_dev-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
222196 restore-keys : |
223- compile_dev-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-
224- compile_dev-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-
197+ compile_dev-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-
198+ compile_dev-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-
225199 - run : mix deps.compile --skip-umbrella-children
226200 - run : mix compile --warning-as-errors
227201 - uses : actions/download-artifact@v2
228202 with :
229- name : dialyzer_plt_dev-${{matrix. otp}}-${{matrix. elixir}}
203+ name : dialyzer_plt_dev-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}
230204 path : priv/plts/
231205 - run : mix dialyzer
232206
@@ -238,33 +212,28 @@ jobs:
238212 env :
239213 MIX_ENV : docs
240214
241- strategy :
242- fail-fast : false
243- matrix :
244- otp : [24.1.1]
245- elixir : [1.12.3]
246-
247215 steps :
248216 - uses : actions/checkout@v2
249217 - uses : erlef/setup-elixir@v1
218+ id : setup-elixir
250219 with :
251- otp-version : ${{matrix.otp}}
252- elixir-version : ${{matrix.elixir}}
220+ otp-version : " ${{ env.DEFAULT_OTP_VERSION }} "
221+ elixir-version : " ${{ env.DEFAULT_ELIXIR_VERSION }} "
253222 - uses : actions/cache@v2
254223 with :
255224 path : deps
256- key : deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
225+ key : deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
257226 restore-keys : |
258- deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-
259- deps-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-
227+ deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-
228+ deps-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-
260229 - run : mix deps.get
261230 - uses : actions/cache@v2
262231 with :
263232 path : _build/dev
264- key : compile_dev-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
233+ key : compile_dev-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-${{ hashFiles('mix.lock') }}
265234 restore-keys : |
266- compile_dev-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-${{ runner.os }}-
267- compile_dev-${{ secrets.CACHE_VERSION }}-${{matrix. otp}}-${{matrix. elixir}}-
235+ compile_dev-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-${{ runner.os }}-
236+ compile_dev-${{ secrets.CACHE_VERSION }}-${{ steps.setup-elixir.outputs. otp-version }}-${{ steps.setup- elixir.outputs.elixir-version }}-
268237 - run : mix deps.compile --skip-umbrella-children
269238 - run : mix compile --warning-as-errors
270239 - run : mix docs
0 commit comments