Skip to content

Version bump

Version bump #132

Workflow file for this run

name: Build
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
permissions:
contents: read
jobs:
analyze:
runs-on: ubuntu-20.04
name: Run Dialyzer on ${{matrix.environment.elixir-version}} / OTP ${{matrix.environment.otp-version}}
strategy:
matrix:
environment:
- elixir-version: 1.18
otp-version: 27
- elixir-version: 1.17
otp-version: 26
- elixir-version: 1.16
otp-version: 25
- elixir-version: 1.15
otp-version: 25
- elixir-version: 1.14
otp-version: 25
- elixir-version: 1.13
otp-version: 24
- elixir-version: 1.12
otp-version: 23
- elixir-version: 1.11
otp-version: 23
- elixir-version: '1.10'
otp-version: 22
- elixir-version: 1.9
otp-version: 22
- elixir-version: 1.8
otp-version: 21
steps:
- uses: actions/checkout@v4
- name: Set up Elixir
uses: erlef/setup-beam@v1
with: ${{matrix.environment}}
- name: Restore dependencies cache
uses: actions/cache@v4
with:
path: deps/
key: "deps-${{ runner.os }}-${{ matrix.environment.otp-version }}-${{ matrix.environment.elixir-version }}-${{ hashFiles('**/mix.lock') }}"
- name: Restore build cache
uses: actions/cache@v4
with:
path: _build/test/
key: "build-${{ runner.os }}-${{ matrix.environment.otp-version }}-${{ matrix.environment.elixir-version }}-${{ hashFiles('**/mix.lock') }}"
- name: Install dependencies
run: |
mix local.rebar --force
mix local.hex --force
mix deps.get
mix compile
- name: Restore PLT cache
uses: actions/cache@v4
id: plt_cache
with:
key: "${{ runner.os }}-${{ matrix.environment.elixir-version }}-${{ matrix.environment.otp-version }}-plt"
restore-keys: "${{ runner.os }}-${{ matrix.environment.elixir-version }}-${{ matrix.environment.otp-version }}-plt"
path: priv/plts
- name: Create PLTs
if: steps.plt_cache.outputs.cache-hit != 'true'
run: mix dialyzer --plt
env:
MIX_ENV: test
- name: Run dialyzer
run: mix dialyzer --format github
env:
MIX_ENV: test
build:
runs-on: ubuntu-20.04
name: Build and Test on Elixir ${{matrix.environment.elixir-version}} / OTP ${{matrix.environment.otp-version}}
strategy:
matrix:
environment:
- elixir-version: 1.18
otp-version: 27
- elixir-version: 1.17
otp-version: 26
- elixir-version: 1.16
otp-version: 25
- elixir-version: 1.15
otp-version: 25
- elixir-version: 1.14
otp-version: 25
- elixir-version: 1.13
otp-version: 24
- elixir-version: 1.12
otp-version: 23
- elixir-version: 1.11
otp-version: 23
- elixir-version: '1.10'
otp-version: 22
- elixir-version: 1.9
otp-version: 22
- elixir-version: 1.8
otp-version: 21
steps:
- uses: actions/checkout@v4
- name: Set up Elixir
uses: erlef/setup-beam@v1
with: ${{matrix.environment}}
- name: Restore dependencies cache
uses: actions/cache@v4
with:
path: deps/
key: "deps-${{ runner.os }}-${{ matrix.environment.otp-version }}-${{ matrix.environment.elixir-version }}-${{ hashFiles('**/mix.lock') }}"
- name: Restore build cache
uses: actions/cache@v4
with:
path: _build/test/
key: "build-${{ runner.os }}-${{ matrix.environment.otp-version }}-${{ matrix.environment.elixir-version }}-${{ hashFiles('**/mix.lock') }}"
- name: Install dependencies
run: |
mix local.rebar --force
mix local.hex --force
mix deps.get
mix compile
- name: Run tests with coverage
if: matrix.environment.elixir-version == '1.18'
run: mix coveralls.github
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MIX_ENV: test
- name: Run tests
if: matrix.environment.elixir-version != '1.18'
run: mix test
env:
MIX_ENV: test