Skip to content

macos-ci

macos-ci #593

name: macos-ci
on:
workflow_dispatch:
push:
branches: [ main ]
pull_request:
branches: [ main ]
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: macos-latest
strategy:
fail-fast: false
matrix:
config: [Release]
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Initialize the dev environement
run : ./.github/workflows/env_macos.sh
- name: Create Build Environment
# We create a subdirectory that will stand as our working directory for all
# subsequent commands
run: cmake -E make_directory ${{github.workspace}}/build
- 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: ${{github.workspace}}/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
run: >
. ${{github.workspace}}/spack/share/spack/setup-env.sh;
spack load py-pytest;
export lcov_ROOT=`spack find -p lcov | awk 'NR==2 {print $2}'`;
export glpk_ROOT=`spack find -p glpk | awk 'NR==2 {print $2}'`;
export googletest_ROOT=`spack find -p googletest | awk 'NR==2 {print $2}'`;
export pybind11_ROOT=`spack find -p py-pybind11 | awk 'NR==2 {print $2}'`;
export cgal_ROOT=`spack find -p cgal | awk 'NR==2 {print $2}'`;
export gmp_ROOT=`spack find -p gmp | awk 'NR==2 {print $2}'`;
export mpfr_ROOT=`spack find -p mpfr | awk 'NR==2 {print $2}'`;
export boost_ROOT=`spack find -p boost | awk 'NR==2 {print $2}'`;
export eigen_ROOT=`spack find -p eigen | awk 'NR==2 {print $2}'`;
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.config }}
-DWITH_TEST:BOOL=ON
-DWITH_CGNS:BOOL=OFF
-DWITH_CODE_COVERAGE:BOOL=OFF
-DWITH_PYTHON_API: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=OFF
-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="$lcov_ROOT;$glpk_ROOT;$googletest_ROOT;$pybind11_ROOT;$cgal_ROOT;$gmp_ROOT;$mpfr_ROOT;$boost_ROOT;$eigen_ROOT"
-DCMAKE_INSTALL_PREFIX=${{github.workspace}}/
- 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: ${{github.workspace}}/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
run: cmake --build . --config ${{ matrix.config }} --parallel 3
- name: Test
working-directory: build
shell: bash
run: |
. ${{github.workspace}}/spack/share/spack/setup-env.sh
spack load py-pytest
echo $PYTHONPATH
ctest -C ${{ matrix.config }}