Auto-format code using Clang-Format (#241) #751
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: Mac | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
c_cxx: | |
runs-on: macos-latest | |
continue-on-error: true | |
strategy: | |
matrix: | |
compiler: | |
- { cpp: g++-12, c: gcc-12, fc: gfortran-12} | |
- { cpp: g++-13, c: gcc-13, fc: gfortran-13} | |
- { cpp: g++-14, c: gcc-14, fc: gfortran-14} | |
- { cpp: clang++, c: clang, fc: gfortran-12} | |
- { cpp: g++-14, c: gcc-14, fc: gfortran-14} | |
build_type: [Release] | |
env: | |
CC: ${{ matrix.compiler.c }} | |
CXX: ${{ matrix.compiler.cpp }} | |
FC: ${{ matrix.compiler.fc }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: brew install netcdf netcdf-fortran | |
- uses: actions/setup-python@v5 | |
- run: pip install numpy --user | |
- name: Run Cmake | |
if: matrix.compiler.cpp != 'g++-13' | |
run: | | |
PYTHON_PATH=$(which python) | |
cmake -S . -B build \ | |
-D CMAKE_CXX_FLAGS=-Wl,-ld_classic \ | |
-D CMAKE_BUILD_TYPE=${{ matrix.build_type }} \ | |
-D MUSICA_GIT_TAG=${{ github.sha }} \ | |
-D MUSICA_ENABLE_PYTHON_LIBRARY=ON \ | |
-D Python3_EXECUTABLE=$PYTHON_PATH | |
- name: Run Cmake | |
if: matrix.compiler.cpp == 'g++-13' | |
run: | | |
PYTHON_PATH=$(which python) | |
# for some reason gcc 13 was having issues finding the correct osx sdk | |
# it seems it was a known issue: https://github.com/actions/runner-images/issues/9997 | |
# for some reason, passing in an empty string for the osx sysroot fixed the issue | |
cmake -S . -B build \ | |
-D CMAKE_CXX_FLAGS=-Wl,-ld_classic \ | |
-D CMAKE_BUILD_TYPE=${{ matrix.build_type }} \ | |
-D MUSICA_GIT_TAG=${{ github.sha }} \ | |
-D MUSICA_ENABLE_PYTHON_LIBRARY=ON \ | |
-D Python3_EXECUTABLE=$PYTHON_PATH \ | |
-D CMAKE_OSX_SYSROOT="" | |
- name: Build | |
run: cmake --build build --verbose --parallel 10 | |
- name: Run tests | |
run: | | |
cd build | |
ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure . --verbose | |
fortran: | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
gcc_version: [13, 14] | |
build_type: [Release] | |
env: | |
FC: gfortran-${{ matrix.gcc_version }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: brew install netcdf netcdf-fortran | |
- name: Run Cmake | |
run: cmake -S . -B build -D CMAKE_CXX_FLAGS=-Wl,-ld_classic -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_BUILD_FORTRAN_INTERFACE=ON | |
- name: Build | |
run: cmake --build build --verbose --parallel 10 | |
- name: Run tests | |
run: | | |
cd build | |
ctest -E "tuvx_c_api|tuvx_fortran_api" -C ${{ matrix.build_type }} --rerun-failed --output-on-failure . --verbose -j 10 |