Combined test-clang with test-shared-clang using matrix

This commit is contained in:
Charlton, Scott R. 2024-08-14 14:11:04 -06:00
parent 74ab782d6c
commit 5e2ca7ad53

View File

@ -114,6 +114,7 @@ jobs:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
shared_libs: [OFF, ON]
enable_module: [OFF, ON]
runs-on: ${{ matrix.os }}
@ -139,15 +140,15 @@ jobs:
- name: CMake configure
if: runner.os == 'Linux'
run: CC=clang CXX=clang++ cmake -B ${{ env.BUILD_DIR }} -DBUILD_SHARED_LIBS:BOOL=OFF -DIPHREEQC_ENABLE_MODULE=${{ matrix.enable_module }} -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON
run: CC=clang CXX=clang++ cmake -B ${{ env.BUILD_DIR }} -DBUILD_SHARED_LIBS:${{ matrix.shared_libs }} -DIPHREEQC_ENABLE_MODULE=${{ matrix.enable_module }} -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON
- name: CMake configure
if: runner.os == 'macOS'
run: CC=$(brew --prefix llvm@15)/bin/clang CXX=$(brew --prefix llvm@15)/bin/clang++ cmake -B ${{ env.BUILD_DIR }} -DBUILD_SHARED_LIBS:BOOL=OFF -DIPHREEQC_ENABLE_MODULE=${{ matrix.enable_module }} -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON
run: CC=$(brew --prefix llvm@15)/bin/clang CXX=$(brew --prefix llvm@15)/bin/clang++ cmake -B ${{ env.BUILD_DIR }} -DBUILD_SHARED_LIBS:${{ matrix.shared_libs }} -DIPHREEQC_ENABLE_MODULE=${{ matrix.enable_module }} -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON
- name: CMake configure
if: runner.os == 'Windows'
run: cmake -B ${{ env.BUILD_DIR }} -A x64 -T "ClangCL" -DBUILD_SHARED_LIBS:BOOL=OFF -DIPHREEQC_ENABLE_MODULE=${{ matrix.enable_module }} -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON
run: cmake -B ${{ env.BUILD_DIR }} -A x64 -T "ClangCL" -DBUILD_SHARED_LIBS:${{ matrix.shared_libs }} -DIPHREEQC_ENABLE_MODULE=${{ matrix.enable_module }} -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON
- name: CMake build
run: cmake --build ${{ env.BUILD_DIR }}
@ -158,58 +159,7 @@ jobs:
- name: Upload results
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}-${{ github.job }}-ENABLE_MODULE=${{ matrix.enable_module }}-results
path: ${{ github.workspace }}/${{ env.BUILD_DIR }}/Testing/
test-shared-clang:
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
env:
BUILD_DIR: _build
steps:
- uses: actions/checkout@v4
- name: Install ninja valgrind (Linux)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y ninja-build valgrind
- name: Install ninja (macOS)
if: runner.os == 'macOS'
run: brew install ninja
- name: Set up Visual Studio shell (Windows)
if: runner.os == 'Windows'
uses: egor-tensin/vs-shell@v2
with:
arch: x64
- name: CMake configure
if: runner.os == 'Linux'
run: CC=clang CXX=clang++ cmake -B ${{ env.BUILD_DIR }} -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON
- name: CMake configure
if: runner.os == 'macOS'
run: CC=$(brew --prefix llvm@15)/bin/clang CXX=$(brew --prefix llvm@15)/bin/clang++ cmake -B ${{ env.BUILD_DIR }} -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON
- name: CMake configure
if: runner.os == 'Windows'
run: cmake -B ${{ env.BUILD_DIR }} -A x64 -T "ClangCL" -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON
- name: CMake build
run: cmake --build ${{ env.BUILD_DIR }}
- name: CTest
run: ctest --test-dir ${{ env.BUILD_DIR }}
- name: Upload results
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}-${{ github.job }}-results
name: ${{ matrix.os }}-${{ github.job }}-SHARED=${{ matrix.shared_libs }}-MODULE=${{ matrix.enable_module }}-results
path: ${{ github.workspace }}/${{ env.BUILD_DIR }}/Testing/
chm: