blob: f9ec37fe71a7161a7b4e1c6fcb99cd5635fcad7d [file] [log] [blame]
name: Continuous Integration
on:
- push
- pull_request
- workflow_dispatch
jobs:
ci:
runs-on: ubuntu-22.04
name: Erlang ${{matrix.otp}} / rebar ${{matrix.rebar3}}
strategy:
matrix:
otp: ['24', '25', '26']
rebar3: ['3']
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: ${{matrix.otp}}
rebar3-version: ${{matrix.rebar3}}
- uses: actions/cache@v3
env:
cache-name: rebar3
with:
path: |
~/.cache/rebar3
_build
key: ci-${{runner.os}}-${{env.cache-name}}-otp_${{matrix.otp}}-rebar_${{matrix.rebar3}}-${{hashFiles('rebar.lock')}}
restore-keys: |
ci-${{runner.os}}-${{env.cache-name}}-otp_${{matrix.otp}}-rebar_${{matrix.rebar3}}
ci-${{runner.os}}-${{env.cache-name}}-otp_${{matrix.otp}}
- name: Compile
run: rebar3 do clean, compile
- name: Analyze
run: rebar3 do xref, dialyzer
- name: Test
run: rebar3 do eunit, ct