Remove MPI initialization from pyFANS and add an integration test for it #20
Workflow file for this run
This file contains hidden or 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: Build and test macOS 15 | |
# Builds FANS for macOS 15 on Apple Silicon CPU and runs the tests. | |
on: | |
push: | |
branches: | |
- main | |
- develop | |
pull_request: | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{github.event_name == 'pull_request'}} | |
jobs: | |
build-macos: | |
name: macOS 15 | |
runs-on: macos-15 | |
env: | |
FANS_BUILD_DIR: build | |
strategy: | |
fail-fast: false | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install FANS dependencies | |
run: | | |
brew install gnu-time cmake gcc@14 | |
brew install open-mpi --build-from-source --cc=gcc-14 | |
brew install fftw hdf5-mpi eigen | |
- name: Generate build directory | |
run: mkdir -p ${{ env.FANS_BUILD_DIR }} | |
- name: Configure | |
working-directory: ${{ env.FANS_BUILD_DIR }} | |
env: | |
CC: gcc-14 | |
CXX: g++-14 | |
MPICC: mpicc | |
MPICXX: mpicxx | |
run: | | |
cmake --version | |
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .. | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: macOS 15 CMakeCache | |
path: ${{ env.FANS_BUILD_DIR }}/CMakeCache.txt | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: macOS 15 CMakeLogs | |
path: '${{ env.FANS_BUILD_DIR }}/CMakeFiles/*.log' | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: macOS 15 CompileCommands | |
path: ${{ env.FANS_BUILD_DIR }}/compile_commands.json | |
- name: Compile | |
working-directory: ${{ env.FANS_BUILD_DIR }} | |
run: | |
cmake --build . -j $(nproc) || cmake --build . -j1 | |
- name: Tests | |
working-directory: ${{ env.FANS_BUILD_DIR }} | |
env: | |
CTEST_OUTPUT_ON_FAILURE: 1 | |
run: ctest | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: macOS 15 CTest logs | |
path: ${{ env.FANS_BUILD_DIR }}/Testing/Temporary/LastTest.log |