1010
1111jobs :
1212 test :
13- name : " Test (Elixir ${{ matrix.elixir }} / OTP ${{ matrix.otp }} / ClickHouse ${{ matrix.clickhouse }} / TZ ${{ matrix.timezone }}${{ matrix.dialyzer && ' / Dialyzer' || '' }}${{ matrix.lint && ' / Lint' || '' }})"
13+ name : " test (Elixir ${{ matrix.elixir }} / OTP ${{ matrix.otp }} / ClickHouse ${{ matrix.clickhouse || 'latest' }} / TZ ${{ matrix.timezone || 'UTC' }}${{ matrix.dialyzer && ' / Dialyzer' || '' }}${{ matrix.lint && ' / Lint' || '' }})"
1414 runs-on : ubuntu-latest
1515
1616 env :
1717 MIX_ENV : test
1818
1919 strategy :
2020 matrix :
21- elixir : [1.14, 1.15, 1.16]
22- otp : [25, 26]
23- clickhouse : [latest]
24- timezone : [UTC]
2521 include :
26- - elixir : 1.17
27- otp : 27
28- clickhouse : latest
29- timezone : UTC
22+ # some old elixir/erlang version
23+ - elixir : 1.14
24+ otp : 25
25+
26+ # some recent version and non-UTC timezone
3027 - elixir : 1.18
3128 otp : 27
32- clickhouse : latest
33- timezone : UTC
34- - elixir : 1.18
35- otp : 28
36- clickhouse : latest
37- timezone : UTC
38- - elixir : 1.18
39- otp : 28
40- clickhouse : latest
4129 timezone : Europe/Berlin
30+
31+ # the latest elixir/erlang version with all static checks
4232 - elixir : 1.19
4333 otp : 28
44- clickhouse : latest
45- timezone : UTC
4634 dialyzer : true
4735 lint : true
48- # Plausible
36+
37+ # Plausible versions
4938 # - https://github.com/plausible/analytics/blob/master/.tool-versions
5039 # - https://github.com/plausible/analytics/blob/master/.github/workflows/elixir.yml
5140 - elixir : 1.19.4
5241 otp : 27.3.4.6
5342 clickhouse : 24.12.2.29
54- timezone : UTC
43+
5544 # some older pre-JSON ClickHouse version
5645 # https://github.com/plausible/ch/issues/273
5746 - elixir : 1.18
@@ -60,11 +49,11 @@ jobs:
6049
6150 services :
6251 clickhouse :
63- image : clickhouse/clickhouse-server:${{ matrix.clickhouse }}
52+ image : clickhouse/clickhouse-server:${{ matrix.clickhouse || 'latest' }}
6453 ports :
6554 - 8123:8123
6655 env :
67- TZ : ${{ matrix.timezone }}
56+ TZ : ${{ matrix.timezone || 'UTC' }}
6857 # https://github.com/ClickHouse/ClickHouse/issues/75494
6958 CLICKHOUSE_SKIP_USER_SETUP : 1
7059 options : >-
9483 test-${{ steps.beam.outputs.elixir-version }}-refs/heads/master-
9584
9685 - run : mix deps.get --only $MIX_ENV
86+ if : ${{ !matrix.lint }}
87+
88+ - run : mix deps.get --check-locked
89+ if : ${{ matrix.lint }}
90+
91+ - run : mix deps.unlock --check-unused
92+ if : ${{ matrix.lint }}
93+
9794 - run : mix compile --warnings-as-errors
95+
9896 - run : mix format --check-formatted
9997 if : ${{ matrix.lint }}
10098
0 commit comments