diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a47d191d..7508242e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -63,14 +63,44 @@ jobs: env: ASAN_OPTIONS: detect_leaks=0 - build-linux: + build-linux-gcc: + name: Linux GCC Build + runs-on: ubuntu-24.04 + strategy: + matrix: + compiler: + - { name: GNU, cc: gcc, cxx: g++ } + build-mode: [Debug] + steps: + - name: Install dependencies + run: sudo apt-get install -y libtbb-dev libhwloc-dev mpi libopenmpi-dev libsparsehash-dev + - name: Checkout HEAD + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + fetch-depth: 1 + submodules: recursive + - name: Configure + run: >- + cmake -B ${{github.workspace}}/build + -DCMAKE_BUILD_TYPE=${{matrix.build-mode}} + -DCMAKE_C_COMPILER=${{matrix.compiler.cc}} + -DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx}} + -DKAMINPAR_ASSERTION_LEVEL=light + -DKAMINPAR_BUILD_DISTRIBUTED=On + -DKAMINPAR_BUILD_WITH_DEBUG_SYMBOLS=Off + - name: GCC Build + run: >- + cmake --build ${{github.workspace}}/build + --config ${{matrix.build-mode}} + --parallel 4 + + build-and-run-linux-clang: name: Linux Build runs-on: ubuntu-24.04 strategy: matrix: compiler: - { name: Clang, cc: clang, cxx: clang++ } - - { name: GNU, cc: gcc, cxx: g++ } build-mode: [Release] steps: - name: Install dependencies @@ -93,7 +123,7 @@ jobs: -DKAMINPAR_BUILD_WITH_DEBUG_SYMBOLS=Off -DKAMINPAR_BUILD_WITH_ASAN=On -DKAMINPAR_BUILD_WITH_UBSAN=On - - name: Build + - name: Clang Build run: >- cmake --build ${{github.workspace}}/build --config ${{matrix.build-mode}} @@ -111,7 +141,6 @@ jobs: env: # We leak a few bytes due to OpenMPI ASAN_OPTIONS: detect_leaks=0 - name: Run unit tests (Clang build) - if: matrix.compiler.name == 'Clang' working-directory: ${{github.workspace}}/build run: ctest --output-on-failure env: