Skip to content

Merge pull request #317 from fnalacceleratormodeling/316-easy-way-to-… #1455

Merge pull request #317 from fnalacceleratormodeling/316-easy-way-to-…

Merge pull request #317 from fnalacceleratormodeling/316-easy-way-to-… #1455

Workflow file for this run

name: CI:macOS-clang
on:
workflow_dispatch:
inputs:
debug_cmake_enabled:
description: 'tmate before cmake'
required: false
default: false
debug_tests_enabled:
description: 'tmate before ctest'
required: false
default: false
push:
branches: [ devel3 ]
paths-ignore:
- 'wiki/**'
pull_request:
branches: [ devel3 ]
paths-ignore:
- 'wiki/**'
env:
BUILD_TYPE: RelWithDebInfo
PYTHON_VERSION: '3.10'
jobs:
build-and-test:
runs-on: macos-14
steps:
- name: Cancel Previous runs
uses: styfle/cancel-workflow-action@0.12.1
with:
access_token: ${{ github.token }}
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: 'true'
- uses: actions/setup-python@v5
with:
python-version: ${{env.PYTHON_VERSION}}
- name: Dependencies
run: |
brew install gsl hdf5 fftw libomp ninja
python3 -m venv ${{github.workspace}}/synergia-env
source ${{github.workspace}}/synergia-env/bin/activate
python3 -m pip install --upgrade pip setuptools wheel
python3 -m pip install cython matplotlib mpi4py numpy pyparsing pytest
# Build h5py from source using the Homebrew installed hdf5
HDF5_DIR=$(brew --prefix hdf5) python3 -m pip install --no-binary=h5py h5py
# Debug: checkpoint at which to open tmate session
- name: macos-clang pre CMake
uses: mxschmitt/action-tmate@v3
if: ${{github.event_name == 'workflow_dispatch' && github.event.inputs.debug_cmake_enabled }}
with:
sudo: false
- name: CMake
run: |
uname -a
source ${{github.workspace}}/synergia-env/bin/activate
cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \
-DGSV=DOUBLE \
-DCMAKE_PREFIX_PATH=$(brew --prefix libomp) \
-DPython_EXECUTABLE=${{github.workspace}}/synergia-env/bin/python${{env.PYTHON_VERSION}} \
-DENABLE_KOKKOS_BACKEND=OpenMP -DBUILD_PYTHON_BINDINGS=on -DBUILD_EXAMPLES=off -GNinja
- name: Build
# Build your program with the given configuration
run: |
source ${{github.workspace}}/synergia-env/bin/activate
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
# Debug: checkpoint at which to open tmate session
- name: macos-clang pre ctest
uses: mxschmitt/action-tmate@v3
if: ${{github.event_name == 'workflow_dispatch' && github.event.inputs.debug_tests_enabled }}
with:
sudo: false
- name: ctest
# Execute tests defined by the CMake configuration.
run: |
source ${{github.workspace}}/synergia-env/bin/activate
cd ${{github.workspace}}/build
ctest -C ${{env.BUILD_TYPE}} --output-on-failure