Skip to content

Version 1.0.5 (2024-04-23) #41

Version 1.0.5 (2024-04-23)

Version 1.0.5 (2024-04-23) #41

Workflow file for this run

name: CI
on: [push, pull_request]
env:
MIX_ENV: test
jobs:
test:
name: Test
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- elixir: 1.16.0
otp: 26.2.1
rebar3: 3.22.1
lint: true
steps:
- uses: actions/checkout@v4
- name: Setup Beam
uses: erlef/setup-beam@v1
with:
elixir-version: ${{ matrix.elixir }}
otp-version: ${{ matrix.otp }}
rebar3-version: ${{ matrix.rebar3 }}
- name: (Erlang) Check Formatting
if: ${{ matrix.lint }}
run: make erlfmt-check
- name: (Erlang) eqWAlizer
if: ${{ matrix.lint }}
run: make eqwalizer
- name: (Erlang) Dialyzer
if: ${{ matrix.lint }}
run: rebar3 dialyzer
- name: (Erlang) Xref
if: ${{ matrix.lint }}
run: rebar3 xref
- name: (Erlang) Tests
run: |
rebar3 ct
- name: (Elixir) Retrieve Mix Dependencies Cache
uses: actions/cache@v4
id: mix-cache
with:
path: deps
key: ${{ runner.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-mix-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}
- name: (Elixir) Install Mix Dependencies
if: steps.mix-cache.outputs.cache-hit != 'true'
run: |
mix local.rebar --force
mix local.hex --force
mix deps.get
- name: (Elixir) Check Formatting
if: ${{ matrix.lint }}
run: mix format --check-formatted
- name: (Elixir) Tests
run: mix test --trace
- name: Logs
uses: actions/upload-artifact@v4
if: failure()
with:
name: ct-logs-${{ matrix.otp }}-${{ matrix.elixir }}
path: _build/test/logs/