Skip to content

SL basis codes will throw exceptions by default if requested error tolerance is not met #98

SL basis codes will throw exceptions by default if requested error tolerance is not met

SL basis codes will throw exceptions by default if requested error tolerance is not met #98

Workflow file for this run

name: "Test Builds"
on:
push:
branches:
- main
pull_request:
jobs:
pyexp:
strategy:
matrix:
os: [macos-latest, ubuntu-latest]
cc: [gcc, mpicc]
name: "Test pyEXP Build"
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install core dependencies - ubuntu
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y build-essential libeigen3-dev libfftw3-dev libhdf5-dev libopenmpi-dev
- name: Install core dependencies - mac
if: startsWith(matrix.os, 'mac')
run: |
brew update
brew reinstall gcc
brew install eigen fftw hdf5 open-mpi libomp
- name: Setup submodule and build
run: |
git submodule update --init --recursive
mkdir -p build/install
- name: Compile pyEXP - Linux
if: runner.os == 'Linux'
env:
CC: ${{ matrix.cc }}
working-directory: ./build
run: >-
cmake
-DENABLE_NBODY=NO
-DENABLE_PYEXP=YES
-DCMAKE_BUILD_TYPE=Release
-DEigen3_DIR=/usr/include/eigen3/share/eigen3/cmake
-DCMAKE_INSTALL_PREFIX=./install
-Wno-dev
..
# Note for future: The homebrew paths are for intel only. Once ARM macs are
# supported in here, we'll need to update to /opt/homebrew/... instead
- name: Compile pyEXP - Mac
if: startsWith(matrix.os, 'mac')
env:
CC: ${{ matrix.cc }}
LDFLAGS: -L/usr/local/opt/libomp/lib
CPPFLAGS: -I/usr/local/opt/libomp/include
working-directory: ./build
run: >-
cmake
-DENABLE_NBODY=NO
-DENABLE_PYEXP=YES
-DCMAKE_BUILD_TYPE=Release
-DEigen3_DIR=/usr/local/share/eigen3/cmake
-DCMAKE_INSTALL_PREFIX=./install
-DOpenMP_CXX_INCLUDE_DIR=/usr/local/opt/libomp/include
-DOpenMP_C_INCLUDE_DIR=/usr/local/opt/libomp/include
-Wno-dev
..
- name: Make
working-directory: ./build
run: make -j 2
# -----------------------------------------------------------------------------------
exp:
strategy:
matrix:
os: [macos-latest, ubuntu-latest]
cc: [gcc, mpicc]
name: "Test Full EXP Build"
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install core dependencies - ubuntu
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y build-essential libeigen3-dev libfftw3-dev libhdf5-dev libopenmpi-dev
- name: Install core dependencies - mac
if: startsWith(matrix.os, 'mac')
run: |
brew update
brew reinstall gcc
brew install eigen fftw hdf5 open-mpi libomp
- name: Setup submodule and build
run: |
git submodule update --init --recursive
mkdir -p build/install
- name: Compile Full EXP - Linux
if: runner.os == 'Linux'
env:
CC: ${{ matrix.cc }}
working-directory: ./build
run: >-
cmake
-DENABLE_NBODY=YES
-DENABLE_PYEXP=NO
-DCMAKE_BUILD_TYPE=Release
-DEigen3_DIR=/usr/include/eigen3/share/eigen3/cmake
-DCMAKE_INSTALL_PREFIX=./install
-Wno-dev
..
# Note for future: The homebrew paths are for intel only. Once ARM macs are
# supported in here, we'll need to update to /opt/homebrew/... instead
- name: Compile Full EXP - Mac
if: startsWith(matrix.os, 'mac')
env:
CC: ${{ matrix.cc }}
LDFLAGS: -L/usr/local/opt/libomp/lib
CPPFLAGS: -I/usr/local/opt/libomp/include
working-directory: ./build
run: >-
cmake
-DENABLE_NBODY=YES
-DENABLE_PYEXP=NO
-DCMAKE_BUILD_TYPE=Release
-DEigen3_DIR=/usr/local/share/eigen3/cmake
-DCMAKE_INSTALL_PREFIX=./install
-DOpenMP_CXX_INCLUDE_DIR=/usr/local/opt/libomp/include
-DOpenMP_C_INCLUDE_DIR=/usr/local/opt/libomp/include
-Wno-dev
..
- name: Make
working-directory: ./build
run: make -j 2