Skip to content

Workflow file for this run

---
name: Erlang CI
"on": [push, workflow_dispatch]
jobs:
ci:
name: Erlang CI
strategy:
fail-fast: false
matrix:
include:
- os-base: ubuntu
os-vsn: 22.04
otp-version: 25
rebar3-version: 3.22
- os-base: ubuntu
os-vsn: 22.04
otp-version: 26
rebar3-version: 3.22
- os-base: windows
os-vsn: 2022
otp-version: 25
rebar3-version: 3.22
- os-base: windows
os-vsn: 2022
otp-version: 26
rebar3-version: 3.22
# macos, for now, is considered best-effort
- os-base: macos
os-vsn: 12
otp-version: 25
rebar3-version: 3.22
- os-base: macos # macos, for now, is considered best-effort
os-vsn: 12
otp-version: 26
rebar3-version: 3.22
runs-on: ${{matrix.os-base}}-${{matrix.os-vsn}}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: erlef/setup-beam@v1
id: setup-beam
with:
otp-version: ${{matrix.otp-version}}
rebar3-version: ${{matrix.rebar3-version}}
if: ${{matrix.os-base != 'macos'}}
- run: |
brew install erlang@${{matrix.otp-version}}
brew install rebar3
if: ${{matrix.os-base == 'macos'}}
- name: Restore _build
uses: actions/cache@v3
with:
path: _build
key: "_build-cache-for\
-os-${{runner.os}}\
-otp-${{steps.setup-beam.outputs.otp-version}}\
-rebar3-${{steps.setup-beam.outputs.rebar3-version}}\
-hash-${{hashFiles('rebar.lock')}}"
if: ${{matrix.os-base != 'macos'}}
- name: Restore rebar3's cache
uses: actions/cache@v3
with:
path: ~/.cache/rebar3
key: "rebar3-cache-for\
-os-${{runner.os}}\
-otp-${{steps.setup-beam.outputs.otp-version}}\
-rebar3-${{steps.setup-beam.outputs.rebar3-version}}\
-hash-${{hashFiles('rebar.lock')}}"
if: ${{matrix.os-base != 'macos'}}
- name: Check file format
run: rebar3 fmt --check
if: ${{matrix.os-base != 'windows'}}
- name: Continuous Integration
run: rebar3 as test ci