Skip to content

Commit 060800a

Browse files
authored
Update CI (#497)
1 parent 6463bfc commit 060800a

File tree

2 files changed

+61
-92
lines changed

2 files changed

+61
-92
lines changed

.github/workflows/elixir.yml

Lines changed: 60 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ env:
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

1921
jobs:
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

mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ defmodule Quantum.Mixfile do
1313
deps: deps(),
1414
description: "Cron-like job scheduler for Elixir.",
1515
docs: docs(),
16-
elixir: "~> 1.8",
16+
elixir: "~> 1.12",
1717
name: "Quantum",
1818
elixirc_paths: elixirc_paths(Mix.env()),
1919
package: package(),

0 commit comments

Comments
 (0)