Elixir SDK for Pocketenv
1name: ci
2
3on:
4 push:
5 branches: ["main"]
6 pull_request:
7 branches: ["main"]
8
9jobs:
10 test:
11 name: Test (Elixir ${{ matrix.elixir }} / OTP ${{ matrix.otp }})
12 runs-on: ubuntu-latest
13
14 strategy:
15 matrix:
16 include:
17 - elixir: "1.17"
18 otp: "27"
19 - elixir: "1.16"
20 otp: "26"
21
22 steps:
23 - uses: actions/checkout@v4
24
25 - name: Set up Elixir
26 uses: erlef/setup-beam@v1
27 with:
28 elixir-version: ${{ matrix.elixir }}
29 otp-version: ${{ matrix.otp }}
30
31 - name: Restore dependencies cache
32 uses: actions/cache@v4
33 with:
34 path: deps
35 key: ${{ runner.os }}-mix-${{ matrix.elixir }}-${{ matrix.otp }}-${{ hashFiles('mix.lock') }}
36 restore-keys: ${{ runner.os }}-mix-${{ matrix.elixir }}-${{ matrix.otp }}-
37
38 - name: Install dependencies
39 run: mix deps.get
40
41 - name: Check formatting
42 run: mix format --check-formatted
43
44 - name: Compile (warnings as errors)
45 run: mix compile --warnings-as-errors
46
47 - name: Run tests
48 run: mix test