Skip to content

Merge pull request #6 from amfoggia/develop [openfpm_data] #50

Merge pull request #6 from amfoggia/develop [openfpm_data]

Merge pull request #6 from amfoggia/develop [openfpm_data] #50

Workflow file for this run

name: OpenFPM_CI
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
test_build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
fail-fast: false
steps:
- name: Check out code
uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Set up Homebrew
uses: Homebrew/actions/setup-homebrew@master
- name: Cache Homebrew dependencies
uses: actions/cache@v2
with:
path: |
~/Library/Caches/Homebrew
/home/linuxbrew/.cache/Homebrew
$HOME/.ccache
key: ${{ runner.os }}-homebrew-${{ hashFiles('**/*.rb') }}
restore-keys: |
${{ runner.os }}-homebrew-
- name: Install dependencies
run: |
brew install cmake ccache petsc boost vc eigen hdf5-mpi
brew install abhinavsns/homebrew-openfpm/parmetis
brew install -s abhinavsns/homebrew-openfpm/libhilbert
brew install -s abhinavsns/homebrew-openfpm/blitz
brew install -s abhinavsns/homebrew-openfpm/algoim
export CCACHE_DIR="$HOME/.ccache"
mkdir -p "$CCACHE_DIR"
mkdir -p build
cd build
export CXX=mpic++
cmake .. -DCMAKE_PREFIX_PATH=$(brew --prefix) \
-DCMAKE_CXX_COMPILER=mpic++ \
-DLIBHILBERT_ROOT=$(brew --prefix abhinavsns/homebrew-openfpm/libhilbert) \
-DLD_FLAGS='-Wl,-ld_classic' \
-DDYLD_LIBRARY_PATH=$(brew --prefix suitesparse)/lib:$(brew --prefix metis)/lib \
-DCMAKE_INSTALL_PREFIX=$HOME/install5 \
-DCMAKE_BUILD_TYPE=RELEASE \
-DSE_CLASS1=OFF \
-DSE_CLASS2=OFF \
-DSE_CLASS3=OFF \
-DTEST_COVERAGE=OFF \
-DSCAN_COVERTY=OFF \
-DTEST_PERFORMANCE=OFF \
-DENABLE_ASAN=OFF \
-DENABLE_NUMERICS=ON \
-DENABLE_GARBAGE_INJECTOR=OFF \
-DENABLE_VCLUSTER_GARBAGE_INJECTOR=OFF \
-DCUDA_ON_BACKEND=NONE \
-DMPI_ROOT=$(brew --prefix open-mpi) \
-DPETSC_ROOT=$(brew --prefix petsc) \
-DBOOST_ROOT=$(brew --prefix boost) \
-DBoost_NO_BOOST_CMAKE=ON \
-DHDF5_ROOT=$(brew --prefix hdf5-mpi) \
-DBLITZ_ROOT=$(brew --prefix abhinavsns/homebrew-openfpm/blitz) \
-DALGOIM_ROOT=$(brew --prefix abhinavsns/homebrew-openfpm/algoim) \
-DPARMETIS_ROOT=$(brew --prefix abhinavsns/homebrew-openfpm/parmetis) \
-DMETIS_ROOT=$(brew --prefix metis) \
-DOPENBLAS_ROOT=$(brew --prefix openblas) \
-DSUITESPARSE_ROOT=$(brew --prefix suite-sparse) \
-DEIGEN3_ROOT=$(brew --prefix eigen) \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_C_COMPILER_LAUNCHER=ccache
- name: Build and install
run: make install
# - name: Single-core Test
# run: |
# export CC=gcc-12
# export CXX=g++-12
# source $HOME/openfpm_vars
# export OMP_NUM_THREADS=1
# ./run.sh $(pwd) unused 1 pdata 0 ${{ github.ref }}
# cd openfpm_numerics
# ./run.sh $(pwd) unused 1 0 0 numerics ${{ github.ref }}
# - name: Multi-core Test
# run: |
# export CC=gcc-12
# export CXX=g++-12
# source $HOME/openfpm_vars
# export OMP_NUM_THREADS=1
# mpirun --allow-run-as-root -np 2 ./build/src/pdata
# echo "RUN numerics test"
# cd openfpm_numerics
# mpirun --allow-run-as-root -np 2 ../build/openfpm_numerics/src/numerics