Skip to content

More CI work

More CI work #36

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'
shell: msys2 {0}
run: |
wget -O otp_win32_installer.zip "https://productionresultssa14.blob.core.windows.net/actions-results/3741c51f-2f3f-4797-bd27-b3e9d473862c/workflow-job-run-e28b990d-30d9-58ba-42da-3bf39bd8b515/artifacts/dbc1d65e0ca17f8ae7719a6d2e38613d589c038560279f982c7fd17ae9034ae9.zip?rscd=attachment%3B+filename%3D%22otp_win32_installer.zip%22&se=2024-11-05T10%3A02%3A44Z&sig=94ZWhACHY6fRLL4jyWXC6UHitNmDRQ2hvnq3rGUXvK0%3D&ske=2024-11-05T18%3A40%3A12Z&skoid=ca7593d4-ee42-46cd-af88-8b886a2f84eb&sks=b&skt=2024-11-05T06%3A40%3A12Z&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skv=2024-08-04&sp=r&spr=https&sr=b&st=2024-11-05T09%3A52%3A39Z&sv=2024-08-04"
unzip otp_win32_installer.zip
./otp_win64_28.0-rc0.exe /S
- 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=$INSTALL_DIR_FOR_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_*/