1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
name: Common Test
on: [pull_request, push]
env:
LATEST_OTP_RELEASE: 28
jobs:
linux:
name: Test on OTP ${{ matrix.otp_version }} and ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
otp_version: [26, 27, 28]
os: [ubuntu-latest]
container:
image: erlang:${{ matrix.otp_version }}
steps:
- uses: actions/checkout@v4
- name: Compile
run: ./bootstrap
- name: CT tests
run: ./rebar3 ct
- shell: bash
name: Dialyzer
run: |
./rebar3 clean -a
./rebar3 as dialyzer dialyzer
if: ${{ matrix.otp_version == env.LATEST_OTP_RELEASE }}
macos:
name: Test on MacOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Brew Version Check
run: brew --version
- name: Brew Cleanup
run: |
brew cleanup --prune=all -s
brew autoremove
- name: Brew Untap Casks
run: brew untap homebrew/cask homebrew/core
- name: Keep Brew Fresh
run: |
brew update || true
brew upgrade || true
- name: Debug Brew
run: brew doctor || true
- name: Install Erlang
run: brew install erlang@${{ env.LATEST_OTP_RELEASE }}
- name: Compile
run: ./bootstrap
- name: CT tests
run: ./rebar3 ct
windows:
name: Test on Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Install Erlang
run: choco install erlang
- name: Compile
run: .\bootstrap.ps1
- name: CT tests
run: .\rebar3.ps1 ct
|