Skip to content

scalapack: submodule if needed #410

scalapack: submodule if needed

scalapack: submodule if needed #410

Workflow file for this run

name: ci
env:
HOMEBREW_NO_INSTALL_CLEANUP: 1
CTEST_NO_TESTS_ACTION: error
CMAKE_BUILD_PARALLEL_LEVEL: 4
CTEST_PARALLEL_LEVEL: 0
CMAKE_INSTALL_PREFIX: ~/libs
CMAKE_PREFIX_PATH: ~/libs
CMAKE_GENERATOR: Ninja
on:
push:
paths:
- "**.c"
- "**.f"
- "**.F"
- "**.f90"
- "**.F90"
- "**.cmake"
- "**.cmake.in"
- "**.txt"
- ".github/workflows/ci.yml"
- "!scripts/*"
jobs:
core:
timeout-minutes: 15
strategy:
matrix:
scotch: [false]
metis: [false]
parallel: [true]
lapack_vendor: [""]
os: [ubuntu-24.04, macos-latest]
include:
- scotch: true
os: ubuntu-24.04
- metis: true
os: ubuntu-24.04
- lapack_vendor: "OpenBLAS"
os: ubuntu-24.04
- parallel: false
os: ubuntu-24.04
runs-on: ${{ matrix.os }}
env:
FC: gfortran-13
steps:
- name: Install prereqs (Linux)
if: runner.os == 'Linux'
run: |
sudo apt update
sudo apt install --no-install-recommends libopenmpi-dev openmpi-bin liblapack-dev libscalapack-openmpi-dev ninja-build
- name: Install prereqs (macOS)
if: runner.os == 'macOS'
run: brew install open-mpi ninja scalapack
- name: Install OpenBLAS (Linux)
if: ${{ matrix.lapack_vendor == 'OpenBLAS' }}
run: sudo apt install --no-install-recommends libopenblas-dev
- uses: actions/checkout@v4
- name: Build METIS
if: ${{ matrix.metis }}
run: cmake -P scripts/build_metis.cmake
- name: Build scotch
if: ${{ matrix.scotch }}
run: cmake -P scripts/build_scotch.cmake
- name: configure
run: >-
cmake
--preset default
-Dparallel:BOOL=${{ matrix.parallel }}
-Dscotch:BOOL=${{ matrix.scotch }}
-Dmetis:BOOL=${{ matrix.metis }}
-DLAPACK_VENDOR=${{ matrix.lapack_vendor }}
- name: build, test release
run: cmake --workflow --preset default
- name: install package
run: cmake --install build
- name: configure example
run: cmake -S example -B example/build
- name: build example
run: cmake --build example/build
- name: test example
run: ctest --test-dir example/build -V
- name: Scotch example
if: ${{ matrix.scotch }}
run: |
cmake -S example/scotch -Bexample/scotch/build
cmake --build example/scotch/build
ctest --test-dir example/scotch/build
- name: print config log
if: ${{ failure() && matrix.scotch }}
run: |
cat example/scotch/build/CMakeFiles/CMakeConfigureLog.yaml
- name: METIS example
if: ${{ matrix.metis }}
run: |
cmake -S example/metis -Bexample/metis/build
cmake --build example/metis/build
ctest --test-dir example/metis/build
- name: print config log
if: ${{ failure() && matrix.metis }}
run: |
cat example/metis/build/CMakeFiles/CMakeConfigureLog.yaml