Skip to content

More CI work

More CI work #46

Workflow file for this run

name: Check Erlang.mk
on:
push:
branches:
- master
pull_request:
schedule:
## Every Monday at 4am.
- cron: 0 4 * * 1
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
check:
strategy:
fail-fast: false
matrix:
erlang:
- '27'
os:
# - macos-latest
# - ubuntu-latest
- windows-latest
suite:
- core-app
# - core-apps
# - core-autopatch
# - core-compat
# - core-deps
# - core-makedep
# - core-misc
# - core-plugins
# - core-query
# - core-upgrade
# - asciidoc
# - bootstrap
# - concuerror
# - cover
# - c-src
# - ct
# - dialyzer
# - edoc
# - erlydtl
# - escript
# - eunit
# - hex
# - proper
# - protobuffs
# - relx
# - shell
# - sphinx
# - triq
# - xref
extra: ['', 'LEGACY=1']
exclude:
# We disable proper/triq tests until ubuntu-latest includes GNU Make 4.4 or later.
- os: ubuntu-latest
suite: proper
- os: ubuntu-latest
suite: triq
# We disable Concuerror as it doesn't seem to compile on Windows.
- os: windows-latest
suite: concuerror
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Erlang/OTP
if: matrix.os == 'ubuntu-latest'
uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.erlang }}
version-type: loose
- name: Setup MSYS2 (Windows)
if: matrix.os == 'windows-latest'
uses: msys2/setup-msys2@v2
with:
msystem: mingw64
release: false
update: true
install: >-
git
make
mingw-w64-x86_64-gcc
gnu-netcat
diffutils
# When debugging Windows issues.
- name: Install custom Erlang/OTP
if: matrix.os == 'windows-latest'
run: |
tar -xf otp_win32_installer.zip
./otp_win64_28.0-rc0.exe /S /D=C:\otp
dir
- if: matrix.os == 'windows-latest'
shell: msys2 {0}
run: |
sleep 10
ls -la
ls -la /c/
ls -la /c/otp
ls -la /c/otp/bin
- name: Run tests (Linux)
if: matrix.os == 'ubuntu-latest'
run: make check c=${{ matrix.suite }} -k ${{ matrix.extra }}
- name: Run tests (Windows)
if: matrix.os == 'windows-latest'
shell: msys2 {0}
run: PATH=/c/otp/bin:$PATH make check c=${{ matrix.suite }} -k V=3 ${{ matrix.extra }}
- name: Upload artifacts
if: failure()
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }} OTP-${{ matrix.erlang }} ${{ matrix.suite }} ${{ matrix.extra }}
path: |
test/test_*/