Add musl libc CI #2
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Alpine Linux (musl libc) | |
on: | |
- pull_request | |
- push | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
name: Alpine Linux (musl libc) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
fetch-depth: 50 | |
- name: Setup latest Alpine Linux | |
uses: jirutka/setup-alpine@v1 | |
with: | |
packages: > | |
ldc | |
git | |
g++ | |
cmake | |
ninja | |
llvm-dev | |
llvm-static | |
llvm-libunwind-static | |
bash | |
grep | |
diffutils | |
make | |
- name: Build LDC & LDC D unittests & defaultlib unittest runners | |
run: | | |
set -eux | |
export CC=gcc | |
export CXX=g++ | |
cmake -G Ninja . \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_INSTALL_PREFIX="/opt/ldc2" \ | |
-DCMAKE_EXE_LINKER_FLAGS=-static-libstdc++ \ | |
-DLLVM_IS_SHARED=OFF \ | |
-DD_COMPILER_FLAGS=-link-defaultlib-shared=false \ | |
-DBUILD_SHARED_LIBS=OFF | |
ninja obj/ldc2.o all ldc2-unittest all-test-runners | |
bin/ldc2 --version | |
shell: alpine.sh {0} | |
- name: Run LDC D unittests | |
if: success() || failure() | |
run: ctest --output-on-failure -R "ldc2-unittest" | |
shell: alpine.sh {0} | |
- name: Run LIT testsuite | |
if: success() || failure() | |
run: | | |
set -eux | |
ctest -V -R "lit-tests" | |
shell: alpine.sh {0} | |
- name: Run DMD testsuite | |
if: success() || failure() | |
run: ctest -V -R "dmd-testsuite" | |
shell: alpine.sh {0} | |
- name: Run defaultlib unittests & druntime integration tests | |
if: success() || failure() | |
run: | | |
set -eux | |
excludes= | |
N=$(nproc) | |
ctest -j$N --output-on-failure -E "dmd-testsuite|lit-tests|ldc2-unittest" | |
shell: alpine.sh {0} |