using new cmake build #59
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: Test-Build | |
on: | |
push: | |
schedule: | |
- cron: '12 14 * * 3' | |
jobs: | |
test-build: | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
matrix: | |
build_type: [Release] | |
memory_test: [ON, OFF] | |
compiler: [g++] | |
language: ['cpp'] | |
exclude: | |
- build_type: Release | |
memory_test: ON | |
- build_type: RelWithDebInfo | |
memory_test: OFF | |
steps: | |
- name: Update packages | |
run: sudo apt-get update | |
- name: Install mpi | |
run: sudo apt-get install -yq mpich libmpich-dev | |
- uses: actions/checkout@v4 | |
- name: build Catch2 | |
uses: ./.github/actions/install-repo | |
with: | |
repo-name: 'Catch2' | |
repo-path: 'catchorg/Catch2' | |
repo-ref: '' | |
cache: true | |
- name: build kokkos | |
uses: ./.github/actions/install-repo | |
with: | |
repo-name: 'kokkos' | |
repo-path: 'kokkos/kokkos' | |
repo-ref: '4.2.00' | |
cache: true | |
options: '-DCMAKE_CXX_STANDARD=17 | |
-DKokkos_ENABLE_SERIAL=ON | |
-DKokkos_ENABLE_OPENMP=ON | |
-DKokkos_ENABLE_CUDA=OFF | |
-DKokkos_ENABLE_CUDA_LAMBDA=OFF | |
-DKokkos_ENABLE_CUDA_CONSTEXPR=OFF | |
-DBUILD_SHARED_LIBS=ON' | |
- name: build kokkos-kernels | |
uses: ./.github/actions/install-repo | |
with: | |
repo-name: 'kokkos-kernels' | |
repo-path: 'kokkos/kokkos-kernels' | |
repo-ref: '4.2.00' | |
cache: true | |
options: '-DCMAKE_CXX_STANDARD=17 | |
-DKokkos_DIR=${{ runner.temp }}/build-kokkos/install/lib/cmake/Kokkos | |
-DBUILD_SHARED_LIBS=ON' | |
- name: build omega_h | |
uses: ./.github/actions/install-repo | |
with: | |
repo-name: 'omega_h' | |
repo-path: 'SCOREC/omega_h' | |
repo-ref: '' | |
cache: true | |
options: '-DCMAKE_CXX_COMPILER=`which mpicxx` | |
-DCMAKE_C_COMPILER=`which mpicc` | |
-DOmega_h_USE_MPI=ON | |
-DOmega_h_USE_Kokkos=ON | |
-DBUILD_TESTING=ON | |
-DMPIEXEC_EXECUTABLE=`which mpirun` | |
-DBUILD_SHARED_LIBS=OFF | |
-DKokkos_DIR=${{ runner.temp }}/build-kokkos/install/lib/cmake/Kokkos | |
-DCMAKE_VERBOSE_MAKEFILE=ON | |
-DBUILD_SHARED_LIBS=ON' | |
- name: build perfstubs | |
uses: ./.github/actions/install-repo | |
with: | |
repo-name: 'perfstubs' | |
repo-path: 'UO-OACISS/perfstubs' | |
repo-ref: '' | |
cache: true | |
options: '-DCMAKE_CXX_COMPILER=mpicxx' | |
- name: build kokkos-fortran-interop | |
uses: ./.github/actions/install-repo | |
with: | |
repo-name: 'kokkos-fortran-interop' | |
repo-path: 'kokkos/kokkos-fortran-interop' | |
repo-ref: '' | |
cache: true | |
options: '-DCMAKE_BUILD_TYPE=Release | |
-DCMAKE_CXX_COMPILER=`which mpicxx` | |
-DCMAKE_C_COMPILER=`which mpicc` | |
-DCMAKE_Fortran_COMPILER=`which mpifort` | |
-DBUILD_TESTING=OFF | |
-DFLCL_BUILD_TESTS=OFF | |
-DFLCL_BUILD_EXAMPLE=OFF | |
-DKokkos_DIR=${{ runner.temp }}/build-kokkos/install/lib/cmake/Kokkos' | |
- name: build ADIOS2 | |
uses: ./.github/actions/install-repo | |
with: | |
repo-name: 'ADIOS2' | |
repo-path: 'ornladios/ADIOS2' | |
repo-ref: '' | |
cache: true | |
options: '-DADIOS2_USE_CUDA=OFF' | |
- name: build redev | |
uses: ./.github/actions/install-repo | |
with: | |
repo-name: 'redev' | |
repo-path: 'SCOREC/redev' | |
repo-ref: '' | |
cache: true | |
options: '-DCMAKE_CXX_COMPILER=`which mpicxx` | |
-DMPIEXEC_EXECUTABLE=`which mpirun` | |
-DCMAKE_BUILD_TYPE=Release | |
-DBUILD_SHARED_LIBS=ON | |
-DADIOS2_DIR=${{ runner.temp }}/build-ADIOS2/install/lib/cmake/adios2/ | |
-Dperfstubs_DIR=${{ runner.temp }}/build-perfstubs/install/lib/cmake' | |
- name: checkout pcms_testcases | |
uses: actions/checkout@v3 | |
with: | |
repository: jacobmerson/pcms_testcases | |
path: pcms_testcases | |
- name: Install fftw3 | |
run: sudo apt-get install -yq libfftw3-dev pkg-config | |
- name: build pcms | |
uses: ./.github/actions/install-repo | |
with: | |
repo-name: 'pcms' | |
repo-path: 'SCOREC/pcms' | |
repo-ref: '' | |
cache: false | |
options: '-DCMAKE_CXX_COMPILER=`which mpicxx` | |
-DCMAKE_C_COMPILER=`which mpicc` | |
-DCMAKE_Fortran_COMPILER=`which mpifort` | |
-DCMAKE_BUILD_TYPE=Release | |
-DPCMS_TIMEOUT=0 | |
-DCatch2_DIR=${{ runner.temp }}/build-Catch2/install/lib64/cmake/Catch2/ | |
-DOmega_h_DIR=${{ runner.temp }}/build-omega_h/install/lib64/cmake/Omega_h/ | |
-Dredev_DIR=${{ runner.temp }}/build-redev/install/lib64/cmake/redev/ | |
-Dflcl_DIR=${{ runner.temp }}/build-kokkos-fortran-interop/install/lib64/cmake/flcl/ | |
-DPCMS_TEST_DATA_DIR=$PWD/pcms_testcases | |
-DMPIEXEC_EXECUTABLE=`which mpirun` | |
-DADIOS2_DIR=${{ runner.temp }}/build-ADIOS2/install/lib64/cmake/adios2/ | |
-Dperfstubs_DIR=${{ runner.temp }}/build-perfstubs/install/lib/cmake/ | |
-DKokkos_DIR=${{ runner.temp }}/build-kokkos/install/lib64/cmake/Kokkos/ | |
-DKokkosKernels_DIR=${{ runner.temp }}/build-kokkos-kernels/install/lib64/cmake/KokkosKernels/ | |
-DBUILD_TESTING=ON' | |
# - name: Install Valgrind | |
# run: sudo apt-get install -yq valgrind | |
- name: Run CTest | |
run: ctest --test-dir ${{ runner.temp }}/build-pcms | |
- name: Print Test | |
if: always() | |
run: cat ${{ runner.temp }}/build-pcms/Testing/Temporary/LastTest.log |