Skip to content

CI: Fix test for current Windows version #48

CI: Fix test for current Windows version

CI: Fix test for current Windows version #48

Workflow file for this run

name: Build
on:
push:
branches:
- master
- devel
pull_request:
branches:
- master
- devel
jobs:
linux:
name: Build (${{ matrix.os }}, OTP-${{ matrix.otp_version }})
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
strategy:
matrix:
otp_version: [20, 21, 22, 23, 24, 25, 26]
os: [ubuntu-latest]
container:
image: erlang:${{ matrix.otp_version }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get branch name
id: branch-name
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
- name: Cache Dialyzer PLTs
uses: actions/cache@v3
with:
path: |
~/.cache/rebar3/rebar3_*_plt
_build/default/rebar3_*_plt
key: ${{ runner.os }}-${{ steps.branch-name.outputs.branch }}-otp-${{ matrix.otp_version }}-plt-${{ hashFiles(format('{0}{1}', github.workspace, '/rebar.config')) }}
restore-keys: |
${{ runner.os }}-${{ steps.branch-name.outputs.branch }}-otp-${{ matrix.otp_version }}-plt-
- name: Cache Hex packages
uses: actions/cache@v3
with:
path: ~/.cache/rebar3/hex/hexpm/packages
key: ${{ runner.os }}-${{ steps.branch-name.outputs.branch }}-otp-${{ matrix.otp_version }}-hex-${{ hashFiles(format('{0}{1}', github.workspace, '/rebar.lock')) }}
restore-keys: |
${{ runner.os }}-${{ steps.branch-name.outputs.branch }}-otp-${{ matrix.otp_version }}-hex-
- name: Compile
run: rebar3 compile
- name: EUnit tests
run: rebar3 eunit
- name: Dialyzer
run: rebar3 dialyzer
- name: Code coverage
run: rebar3 cover
- name: Generate coverage report
run: rebar3 covertool generate
- name: Upload coverage to Codecov
run: bash <(curl -s https://codecov.io/bash) -f _build/test/covertool/uef.covertool.xml
macos:
name: Build (${{ matrix.os }})
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
strategy:
matrix:
os: [macos-latest]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get branch name
id: branch-name
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
- name: Install Erlang
run: brew install erlang
- name: Install rebar3
run: brew install rebar3
- name: Cache Dialyzer PLTs
uses: actions/cache@v3
with:
path: |
~/.cache/rebar3/rebar3_*_plt
_build/default/rebar3_*_plt
key: ${{ runner.os }}-${{ steps.branch-name.outputs.branch }}-plt-${{ hashFiles(format('{0}{1}', github.workspace, '/rebar.config')) }}
restore-keys: |
${{ runner.os }}-${{ steps.branch-name.outputs.branch }}-plt-
- name: Cache Hex packages
uses: actions/cache@v3
with:
path: ~/.cache/rebar3/hex/hexpm/packages
key: ${{ runner.os }}-${{ steps.branch-name.outputs.branch }}-hex-${{ hashFiles(format('{0}{1}', github.workspace, '/rebar.lock')) }}
restore-keys: |
${{ runner.os }}-${{ steps.branch-name.outputs.branch }}-hex-
- name: Compile
run: rebar3 compile
- name: EUnit tests
run: rebar3 eunit
- name: Code coverage
run: rebar3 cover
windows:
name: Build (${{ matrix.os }})
runs-on: ${{ matrix.os }}
defaults:
run:
shell: powershell
strategy:
matrix:
os: [windows-latest]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get branch name
id: branch-name
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
- name: Install Erlang
run: choco install erlang -y
- name: Install rebar3
run: |
mkdir ~/rebar3-dl
Invoke-WebRequest -Uri https://github.com/erlang/rebar3/releases/download/3.22.1/rebar3 -OutFile ~/rebar3-dl/rebar3
- name: Cache Dialyzer PLTs
uses: actions/cache@v3
with:
path: |
~/.cache/rebar3/rebar3_*_plt
_build/default/rebar3_*_plt
key: ${{ runner.os }}-${{ steps.branch-name.outputs.branch }}-plt-${{ hashFiles(format('{0}{1}', github.workspace, '/rebar.config')) }}
restore-keys: |
${{ runner.os }}-${{ steps.branch-name.outputs.branch }}-plt-
- name: Cache Hex packages
uses: actions/cache@v3
with:
path: ~/.cache/rebar3/hex/hexpm/packages
key: ${{ runner.os }}-${{ steps.branch-name.outputs.branch }}-hex-${{ hashFiles(format('{0}{1}', github.workspace, '/rebar.lock')) }}
restore-keys: |
${{ runner.os }}-${{ steps.branch-name.outputs.branch }}-hex-
- name: Compile
shell: bash
run: ~/rebar3-dl/rebar3 compile
- name: EUnit tests
shell: bash
run: ~/rebar3-dl/rebar3 eunit
- name: Dialyzer
shell: bash
run: ~/rebar3-dl/rebar3 dialyzer
- name: Code coverage
shell: bash
run: ~/rebar3-dl/rebar3 cover