Merge pull request #494 from pdziekan/outstart #136
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 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 |