Skip to content

Merge pull request #494 from pdziekan/outstart #136

Merge pull request #494 from pdziekan/outstart

Merge pull request #494 from pdziekan/outstart #136

name: Test libmpdata++
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
# run unit tests
unit:
runs-on: ubuntu-20.04
strategy:
matrix:
build_type: ["Debug", "Release"]
mpi: ["none", "mvapich2"]
include:
- mpi: "none"
tag: "ubuntu_20_04_cuda_11_4"
cxx: "g++"
ctest_options: ""
- mpi: "mvapich2"
tag: "ubuntu_20_04_cuda_11_4_mvapich2_v1"
cxx: "mpic++"
ctest_options: "-LE SlowWithMpi" # exclude tests with the label SlowWithMpi
steps:
- uses: actions/checkout@v2
- name: Install libmpdata++
uses: igfuw/[email protected]
with:
build_type: ${{matrix.build_type}}
threads: ${{matrix.threads}}
path: ${{ github.workspace }}/libmpdata++
install_prefix: ${{ github.workspace }}/installed
tag: ${{ matrix.tag }}
cxx: ${{ matrix.cxx }}
- run: mkdir ${{ github.workspace }}/tests/unit/build
- name: configure,make and run unit tests #all in one call, because singularity always creates a sandbox, what takes ca. 1 min. TODO: fix this (newer singularity from apt?)
working-directory: ${{ github.workspace }}/tests/unit
run: VERBOSE=1 OMP_NUM_THREADS=4 singularity exec $SI bash -c "cmake -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=${{matrix.cxx}} && cmake --build build --config ${{matrix.build_type}} -j4 && cd build && ctest ${{matrix.ctest_options}} || cat Testing/Temporary/LastTest.log /"
sandbox:
runs-on: ubuntu-20.04
strategy:
matrix:
build_type: ["Release"] # Debug would be too slow
mpi: ["none", "mvapich2"]
include:
- mpi: "none"
tag: "ubuntu_20_04_cuda_11_4"
cxx: "g++"
ctest_options: ""
- mpi: "mvapich2"
tag: "ubuntu_20_04_cuda_11_4_mvapich2_v1"
cxx: "mpic++"
ctest_options: "-LE SlowWithMpi"
steps:
- uses: actions/checkout@v2
- name: Install libmpdata++
uses: igfuw/[email protected]
with:
build_type: ${{matrix.build_type}}
threads: ${{matrix.threads}}
path: ${{ github.workspace }}/libmpdata++
install_prefix: ${{ github.workspace }}/installed
tag: ${{ matrix.tag }}
cxx: ${{ matrix.cxx }}
- run: mkdir ${{ github.workspace }}/tests/sandbox/build
# Debugging with a ssh session
# - name: Setup tmate session
# uses: mxschmitt/action-tmate@v3
- name: configure,make and run selected sandbox tests
working-directory: ${{ github.workspace }}/tests/sandbox
run: VERBOSE=1 OMP_NUM_THREADS=4 singularity exec $SI bash -c "cmake -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=${{matrix.cxx}} && cmake --build build --config ${{matrix.build_type}} -j4 && cd build && ctest ${{matrix.ctest_options}} || cat Testing/Temporary/LastTest.log /"
sandbox_slow_tests:
runs-on: ubuntu-20.04
strategy:
matrix:
build_type: ["Release"] # Debug would be too slow
mpi: ["mvapich2"]
tests: ["pbl_smg_short", "pbl_iles_short", "shear_layer", "convergence_adv_diffusion"]
include:
- mpi: "mvapich2"
tag: "ubuntu_20_04_cuda_11_4_mvapich2_v1"
cxx: "mpic++"
steps:
- uses: actions/checkout@v2
- name: Install libmpdata++
uses: igfuw/[email protected]
with:
build_type: ${{matrix.build_type}}
threads: ${{matrix.threads}}
path: ${{ github.workspace }}/libmpdata++
install_prefix: ${{ github.workspace }}/installed
tag: ${{ matrix.tag }}
cxx: ${{ matrix.cxx }}
- run: mkdir ${{ github.workspace }}/tests/sandbox/build
- name: configure,make and run selected sandbox tests
working-directory: ${{ github.workspace }}/tests/sandbox
run: VERBOSE=1 OMP_NUM_THREADS=4 singularity exec $SI bash -c "cmake -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=${{matrix.cxx}} && cmake --build build --config ${{matrix.build_type}} -j4 && cd build && ctest -R ${{matrix.tests}} || cat Testing/Temporary/LastTest.log /"
# run tests from the 2015 GMD paper
paper:
runs-on: ubuntu-20.04
strategy:
matrix:
build_type: ["Release"]
mpi: ["none", "mvapich2"]
include:
- mpi: "none"
tag: "ubuntu_20_04_cuda_11_4"
cxx: "g++"
- mpi: "mvapich2"
tag: "ubuntu_20_04_cuda_11_4_mvapich2_v1"
cxx: "mpic++"
ctest_options: "-LE SlowWithMpi" # exclude tests with the label SlowWithMpi
steps:
- uses: actions/checkout@v2
- name: Install libmpdata++
uses: igfuw/[email protected]
with:
build_type: ${{matrix.build_type}}
threads: ${{matrix.threads}}
path: ${{ github.workspace }}/libmpdata++
install_prefix: ${{ github.workspace }}/installed
tag: ${{ matrix.tag }}
cxx: ${{ matrix.cxx }}
- run: mkdir ${{ github.workspace }}/tests/paper_2015_GMD/build
- name: configure,make and run selected sandbox tests
working-directory: ${{ github.workspace }}/tests/paper_2015_GMD
run: VERBOSE=1 OMP_NUM_THREADS=4 singularity exec $SI bash -c "cmake -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=${{matrix.cxx}} && cmake --build build --config ${{matrix.build_type}} -j4 && cd build && ctest ${{matrix.ctest_options}} || cat Testing/Temporary/LastTest.log /"
nair_jablonowski_2008:
runs-on: ubuntu-20.04
strategy:
matrix:
build_type: ["Release"]
mpi: ["none"]
include:
- mpi: "none"
tag: "ubuntu_20_04_cuda_11_4"
cxx: "g++"
steps:
- uses: actions/checkout@v2
- name: Install libmpdata++
uses: igfuw/[email protected]
with:
build_type: ${{matrix.build_type}}
threads: ${{matrix.threads}}
path: ${{ github.workspace }}/libmpdata++
install_prefix: ${{ github.workspace }}/installed
tag: ${{ matrix.tag }}
cxx: ${{ matrix.cxx }}
- run: mkdir ${{ github.workspace }}/tests/nair_jablonowski_2008/build
- name: configure,make and run selected sandbox tests
working-directory: ${{ github.workspace }}/tests/nair_jablonowski_2008
run: VERBOSE=1 OMP_NUM_THREADS=4 singularity exec $SI bash -c "cmake -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=${{matrix.cxx}} && cmake --build build --config ${{matrix.build_type}} -j4 && cd build && ctest || cat Testing/Temporary/LastTest.log /"
elliptic_drop:
runs-on: ubuntu-20.04
strategy:
matrix:
build_type: ["Release"]
mpi: ["none"]
include:
- mpi: "none"
tag: "ubuntu_20_04_cuda_11_4"
cxx: "g++"
steps:
- uses: actions/checkout@v2
- name: Install libmpdata++
uses: igfuw/[email protected]
with:
build_type: ${{matrix.build_type}}
threads: ${{matrix.threads}}
path: ${{ github.workspace }}/libmpdata++
install_prefix: ${{ github.workspace }}/installed
tag: ${{ matrix.tag }}
cxx: ${{ matrix.cxx }}
- name: checkout elliptic_drop
uses: actions/checkout@v2
with:
repository: igfuw/shallow-water-elliptic-drop
path: shallow-water-elliptic-drop
- run: mkdir ${{ github.workspace }}/shallow-water-elliptic-drop/numerical/build
- name: configure,make and run tests
working-directory: ${{ github.workspace }}/shallow-water-elliptic-drop/numerical
run: VERBOSE=1 OMP_NUM_THREADS=4 singularity exec -B ${{ github.workspace }}/installed/ $SI bash -c "cmake -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=${{matrix.cxx}} -Dlibmpdata++_DIR=${{ github.workspace }}/installed/share/libmpdata++ && cmake --build build --config ${{matrix.build_type}} -j4 && cd build && ctest || cat Testing/Temporary/LastTest.log /"
call_test_uwlcm_hlpr:
uses: igfuw/UWLCM/.github/workflows/test_uwlcm_hlpr.yml@master
with:
UWLCM_sha: "master"
libcloudphxx_sha: "master"
libmpdataxx_sha: ${{ github.sha }} # merge PR SHA