Skip to content

ci: keep dev dependencies available for lock checks #12

ci: keep dev dependencies available for lock checks

ci: keep dev dependencies available for lock checks #12

Workflow file for this run

name: CI
on: [push, pull_request]
permissions:
contents: read
jobs:
build:
name: Build and test
runs-on: ubuntu-24.04
env:
MIX_ENV: test
# see https://hexdocs.pm/elixir/compatibility-and-deprecations.html#between-elixir-and-erlang-otp
strategy:
fail-fast: false
matrix:
include:
- elixir: 1.19.x
otp: 28.x
lint: true
- elixir: 1.19.x
otp: 26.x
- elixir: 1.18.x
otp: 27.x
- elixir: 1.18.x
otp: 25.x
- elixir: 1.17.x
otp: 27.x
- elixir: 1.17.x
otp: 25.x
- elixir: 1.16.x
otp: 26.x
- elixir: 1.16.x
otp: 24.x
- elixir: 1.15.x
otp: 26.x
- elixir: 1.15.x
otp: 24.x
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: erlef/setup-beam@fc68ffb90438ef2936bbb3251622353b3dcb2f93 # v1.24.0
with:
elixir-version: ${{ matrix.elixir }}
otp-version: ${{ matrix.otp }}
- run: mix deps.get --check-locked
- run: mix deps.compile
- run: mix compile --warnings-as-errors
if: ${{ matrix.lint }}
- run: mix format --check-formatted
if: ${{ matrix.lint }}
- run: mix deps.unlock --check-unused
if: ${{ matrix.lint }}
- run: mix test