name: Continuous Integration

on:
  - push
  - pull_request
  - workflow_dispatch

jobs:
  ci:
    runs-on: ubuntu-latest
    name: Erlang ${{matrix.otp}} / rebar ${{matrix.rebar3}}
    strategy:
      matrix:
        otp: ['23', 24']
        rebar3: ['3']
    steps:

      - uses: actions/checkout@v2

      - uses: erlef/setup-beam@v1
        with:
          otp-version: ${{matrix.otp}}
          rebar3-version: ${{matrix.rebar3}}

      - uses: actions/cache@v2
        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 dialyzer

Add compilation and Dialyzer to CI
Add compilation and Dialyzer to CI
