From c938f6e496a6b05973a1206562772cc305c80299 Mon Sep 17 00:00:00 2001 From: Peter Raback Date: Wed, 31 Jul 2024 13:44:11 +0300 Subject: [PATCH] Test with separate CI build --- .github/workflows/build-ubuntu-clang.yaml | 92 +++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 .github/workflows/build-ubuntu-clang.yaml diff --git a/.github/workflows/build-ubuntu-clang.yaml b/.github/workflows/build-ubuntu-clang.yaml new file mode 100644 index 0000000000..79213fb4e9 --- /dev/null +++ b/.github/workflows/build-ubuntu-clang.yaml @@ -0,0 +1,92 @@ +name: build-ubuntu-clang +on: + workflow_dispatch: + push: + pull_request: + +concurrency: ci-${{ github.ref }} + +jobs: + + ubuntu: + # For available GitHub-hosted runners, see: + # https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners + runs-on: ubuntu-latest + + name: ubuntu (${{ matrix.compiler }} ${{ matrix.openmp }} OpenMP) + + strategy: + # Allow other runners in the matrix to continue if some fail + fail-fast: false + + matrix: + compiler: [clang] + openmp: [with, without] + include: + - compiler: clang + compiler-pkgs: "clang" + cc: "clang" + cxx: "clang++" + openmp: with + openmp-cmake-flags: "-WITH_OpenMP=ON -DOpenMP_C_FLAGS=-fopenmp=libgomp -DOpenMP_CXX_FLAGS=-fopenmp=libgomp" + - compiler: clang + compiler-pkgs: "clang" + cc: "clang" + cxx: "clang++" + openmp-cmake-flags: "-WITH_OpenMP=OFF" + + env: + CC: ${{ matrix.cc }} + CXX: ${{ matrix.cxx }} + + steps: + - name: get CPU information + run: lscpu + + - name: checkout repository + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: install dependencies + run: | + sudo apt -qq update + sudo apt install -y ${{ matrix.compiler-pkgs }} cmake gfortran \ + libopenblas-dev libopenmpi-dev libmumps-dev libparmetis-dev \ + libqwt-qt5-dev qtscript5-dev libqt5svg5-dev + + - name: configure + run: | + mkdir ${GITHUB_WORKSPACE}/build + cd ${GITHUB_WORKSPACE}/build + cmake \ + -DCMAKE_BUILD_TYPE="Release" \ + -DCMAKE_INSTALL_PREFIX="${GITHUB_WORKSPACE}/usr" \ + -DBLA_VENDOR="OpenBLAS" \ + ${{ matrix.openmp-cmake-flags }} \ + -DWITH_LUA=ON \ + -DWITH_Zoltan=ON \ + -DWITH_Mumps=ON \ + -DWITH_ELMERGUI=ON \ + -DCREATE_PKGCONFIG_FILE=ON \ + -DWITH_MPI=ON \ + -DMPI_TEST_MAXPROC=2 \ + -DMPIEXEC_PREFLAGS="--allow-run-as-root" \ + .. + + - name: build + run: | + cd ${GITHUB_WORKSPACE}/build + cmake --build . -j$(nproc) + + - name: install + run: | + cd ${GITHUB_WORKSPACE}/build + cmake --install . + + - name: check + id: run-ctest + timeout-minutes: 150 + run: | + cd ${GITHUB_WORKSPACE}/build + CTEST_OUTPUT_ON_FAILURE=1 ctest -L quick -j$(nproc)