Skip to content

Refresh minor release (1.0.1) #8

Refresh minor release (1.0.1)

Refresh minor release (1.0.1) #8

Workflow file for this run

name: Elixir CI
on:
pull_request:
push:
branches:
- main
merge_group:
types:
- checks_requested
workflow_dispatch:
jobs:
elixir-ci:
name: Elixir ${{ matrix.elixir }} (OTP ${{ matrix.otp }})
env:
LANG: en_US.UTF-8
LC_CTYPE: en_US.UTF-8
strategy:
fail-fast: true
matrix:
include:
- elixir: '1.8'
otp: '20'
os: ubuntu-20.04
- elixir: '1.9'
otp: '20'
os: ubuntu-20.04
- elixir: '1.10'
otp: '21'
os: ubuntu-20.04
- elixir: '1.11'
otp: '21'
os: ubuntu-20.04
- elixir: '1.11'
otp: '23'
os: ubuntu-20.04
- elixir: '1.12'
otp: '24'
os: ubuntu-22.04
- elixir: '1.13'
otp: '24'
os: ubuntu-22.04
- elixir: '1.14'
otp: '25'
os: ubuntu-22.04
- elixir: '1.15'
otp: '26'
os: ubuntu-22.04
check_formatted: true
warnings_as_errors: true
dialyzer: true
credo: true
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-elixir@v1
id: install
with:
otp-version: ${{ matrix.otp }}
elixir-version: ${{ matrix.elixir }}
- uses: actions/cache@v3
with:
key: builds@elixir-${{ steps.install.outputs.elixir-version }}-otp-${{ steps.install.outputs.otp-version }}-mix-${{ hashFiles('mix.lock') }}
path: |
deps
_build
- run: mix 'do' deps.get, deps.compile
- run: mix format --check-formatted
if: matrix.check_formatted
- run: mix compile --warnings-as-errors
if: matrix.warnings_as_errors
- run: mix compile
if: ${{ !matrix.warnings_as_errors }}
- run: mix test
- run: mix credo --strict
if: matrix.credo
- uses: actions/cache@v3
if: matrix.dialyzer
with:
key: plts@elixir-${{ steps.install.outputs.elixir-version }}-otp-${{ steps.install.outputs.otp-version }}-mix-${{ hashFiles('mix.lock') }}
path: |
priv/plts
restore-keys: |
plts@elixir-${{ steps.install.outputs.elixir-version }}-otp-${{ steps.install.outputs.otp-version }}-mix-
- run: mix dialyzer
if: matrix.dialyzer