Skip to content

Commit a613e2a

Browse files
authored
Merge pull request #200 from tompave/ci_dialyzer
Add Dialyzer CI job
2 parents 4836eb7 + 7a9f17d commit a613e2a

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

.github/workflows/quality.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,36 @@ jobs:
4242

4343
- name: Run credo
4444
run: mix credo
45+
dialyzer:
46+
name: Dialyzer
47+
runs-on: ubuntu-24.04
48+
49+
strategy:
50+
fail-fast: false
51+
52+
steps:
53+
- name: Set up Elixir and OTP
54+
uses: erlef/setup-beam@v1
55+
with:
56+
elixir-version: ${{ env.elixir_version }}
57+
otp-version: ${{ env.otp_version }}
58+
59+
- name: Checkout code
60+
uses: actions/checkout@v4
61+
62+
- name: 'Restore cache for deps/ and _build/ directories'
63+
uses: actions/cache@v4
64+
with:
65+
path: |
66+
deps
67+
_build
68+
# Dialyzer uses PLT files for caching project info. These are in _build/dev/, but they're only created
69+
# when running dialyzer for the first time, and updated when the deps change.
70+
key: ${{ runner.os }}-plts-${{ env.elixir_version }}-${{ env.otp_version }}-${{ hashFiles('**/mix.lock') }}
71+
restore-keys: ${{ runner.os }}-plts-${{ env.elixir_version }}-${{ env.otp_version }}-
72+
73+
- name: Install Mix dependencies
74+
run: mix deps.get
75+
76+
- name: Run dialyzer
77+
run: mix dialyzer

0 commit comments

Comments
 (0)