fix macos CI unrecognized ctest option #847
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: ubuntu-ci | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
env: | |
CODECOV_TOKEN: 'a6611bcf-89ee-410d-acfa-d4f130b31365' | |
jobs: | |
Continuous: | |
name: ${{ matrix.config }} | |
# The CMake configure and build commands are platform agnostic and should work equally | |
# well on Linux, Windows or Mac. | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/lihpc-computational-geometry/spack-gmds:latest | |
strategy: | |
fail-fast: false | |
matrix: | |
config: [Release, Debug] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 2 # seems to be needed by codecov | |
submodules: recursive | |
- name: Create Build Environment | |
# We create a subdirectory that will stand as our working directory for all | |
# subsequent commands | |
run: > | |
cmake -E make_directory build; | |
cmake -E make_directory install; | |
pwd; | |
ls; | |
- name: Configure CMake | |
# Use a bash shell so we can use the same syntax for environment variable | |
# access regardless of the host operating system | |
shell: bash | |
working-directory: build | |
# Note the current convention is to use the -S and -B options here to specify source | |
# and build directories, but this is only available with CMake 3.13 and higher. | |
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12 | |
# CMAKE_INSTALL_PREFIX is specified here because of issue 20565 where CMAKE_INSTALL_LIBDIR | |
# does not seem to be re-evaluated during the call to cmake --install | |
run: > | |
pwd; | |
ls; | |
. /spack/share/spack/setup-env.sh; | |
spack load py-pytest; | |
cmake /__w/gmds/gmds -DCMAKE_BUILD_TYPE=${{ matrix.config }} | |
-DWITH_CODE_COVERAGE:BOOL=ON | |
-DWITH_CGNS:BOOL=OFF | |
-DWITH_PYTHON_API:BOOL=ON | |
-DWITH_TEST:BOOL=ON | |
-DENABLE_BLOCK_MESHER:BOOL=ON | |
-DENABLE_BLOCKING:BOOL=ON | |
-DENABLE_CLAIRE:BOOL=ON | |
-DENABLE_DUAL_BLOCKING:BOOL=OFF | |
-DENABLE_ELG3D:BOOL=OFF | |
-DENABLE_ELGMORPHING:BOOL=OFF | |
-DENABLE_FRAME:BOOL=ON | |
-DENABLE_FRAME_3D:BOOL=ON | |
-DENABLE_GEOD_HONEY_COMB:BOOL=ON | |
-DENABLE_HYBRIDMESHADAPT:BOOL=ON | |
-DENABLE_KMDS:BOOL=ON | |
-DENABLE_MEDIALAXIS:BOOL=OFF | |
-DENABLE_MEDUSA:BOOL=OFF | |
-DENABLE_MILP:BOOL=OFF | |
-DENABLE_MORPHMESH:BOOL=ON | |
-DENABLE_PADDINGs:BOOL=ON | |
-DENABLE_POLYBLOCK:BOOL=ON | |
-DENABLE_QUADFRONT:BOOL=OFF | |
-DENABLE_RLBLOCKING:BOOL=OFF | |
-DENABLE_SINGGRAPHBUILD:BOOL=ON | |
-DCMAKE_PREFIX_PATH="/spack/opt/spack/lcov;/spack/opt/spack/glpk;/spack/opt/spack/eigen;/spack/opt/spack/googletest;/spack/opt/spack/py-pybind11;/spack/opt/spack/kokkos;/spack/opt/spack/cgal;/spack/opt/spack/gmp;/spack/opt/spack/mpfr;/spack/opt/spack/boost;/spack/opt/spack/cgns" | |
-DCMAKE_INSTALL_PREFIX= ${GITHUB_WORKSPACE}/install | |
- name: Build | |
# Use a bash shell so we can use the same syntax for environment variable | |
# access regardless of the host operating system | |
shell: bash | |
working-directory: build | |
# Execute the build. You can specify a specific target with "--target <NAME>" | |
run: cmake --build . --config ${{ matrix.config }} --parallel 2 | |
- name: C++ Test | |
working-directory: build | |
shell: bash | |
run: | | |
if ${{ matrix.config == 'Release'}}; then | |
ctest -C ${{ matrix.config }} | |
else | |
export CODACY_PROJECT_TOKEN=6812888e69b348239217c607f514f024 | |
make code_cover_gmds | |
bash <(curl -s https://codecov.io/bash) | |
bash <(curl -Ls https://coverage.codacy.com/get.sh) report -r code_cover_gmds.info | |
fi | |
- name: Install | |
working-directory: build | |
run: | | |
make install | |
- name: C++ Test lib install | |
run: | | |
cmake -E make_directory user_exe_build | |
cd user_exe_build/ | |
cmake -DCMAKE_PREFIX_PATH="/spack/opt/spack/eigen;${GITHUB_WORKSPACE}/install" ${GITHUB_WORKSPACE}/docs/example | |
make | |
./examplegmds |