Skip to content
10 changes: 9 additions & 1 deletion .github/workflows/test_t8code_linkage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,12 @@ jobs:
run: tar -xf artifact.tar && rm artifact.tar
- name: Update packages
run: sudo apt-get update && sudo apt-get upgrade -y
- name: install ccache
run: sudo apt install ccache -y
- name: enable caching of build artifacts
run: PATH=/usr/lib/ccache:$PATH;
which gcc;
ccache -s;
# This seems to be necessary because of the docker container
- name: disable ownership checks
run: git config --global --add safe.directory '*'
Expand All @@ -85,7 +91,7 @@ jobs:
run: export TEST_LEVEL_FLAG="-DT8CODE_TEST_LEVEL=${{ inputs.TEST_LEVEL }}"
&& echo TEST_LEVEL_FLAG="$TEST_LEVEL_FLAG" >> $GITHUB_ENV
- name: build config variables
run: export CONFIG_OPTIONS="${TEST_LEVEL_FLAG} -GNinja -DCMAKE_C_FLAGS_DEBUG=${DEBUG_CONFIG} -DCMAKE_CXX_FLAGS_DEBUG=${DEBUG_CONFIG} -DT8CODE_USE_SYSTEM_SC=ON -DT8CODE_USE_SYSTEM_P4EST=ON -DT8CODE_BUILD_PEDANTIC=ON -DT8CODE_BUILD_WALL=ON -DT8CODE_BUILD_WERROR=ON -DT8CODE_BUILD_WEXTRA=ON -DT8CODE_ENABLE_MPI=$MPI -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSC_DIR=$SC_PATH/install/cmake -DP4EST_DIR=$P4EST_PATH/install/cmake"
run: export CONFIG_OPTIONS="${TEST_LEVEL_FLAG} -GNinja -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_FLAGS_DEBUG=${DEBUG_CONFIG} -DCMAKE_CXX_FLAGS_DEBUG=${DEBUG_CONFIG} -DT8CODE_USE_SYSTEM_SC=ON -DT8CODE_USE_SYSTEM_P4EST=ON -DT8CODE_BUILD_PEDANTIC=ON -DT8CODE_BUILD_WALL=ON -DT8CODE_BUILD_WERROR=ON -DT8CODE_BUILD_WEXTRA=ON -DT8CODE_ENABLE_MPI=$MPI -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSC_DIR=$SC_PATH/install/cmake -DP4EST_DIR=$P4EST_PATH/install/cmake"
&& echo CONFIG_OPTIONS="$CONFIG_OPTIONS" >> $GITHUB_ENV
# cmake and test with netcdf
- name: check NetCDF
Expand All @@ -104,6 +110,8 @@ jobs:
run: cd build_netcdf && ninja $MAKEFLAGS
- name: ninja install
run: cd build_netcdf && ninja install $MAKEFLAGS
- name: verify ccache
run: ccache -s
- name: serial tests (if MPI is enabled)
run: cd build_netcdf && ctest $MAKEFLAGS -R _serial
if: ${{ inputs.MPI == 'ON' }}
Expand Down
90 changes: 0 additions & 90 deletions .github/workflows/testsuite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,37 +123,6 @@ jobs:
CACHE_COUNTER: 0 # Increase this number to force a new installation of sc and p4est and to update the cache once
MPI: ${{ matrix.MPI }}

# Run parallel tests for sc and p4est with and without MPI
sc_p4est_tests:
needs: preparation
uses: ./.github/workflows/test_sc_p4est.yml
strategy:
fail-fast: false
matrix:
MPI: [OFF, ON]
include:
- MAKEFLAGS: -j4
with:
MAKEFLAGS: ${{ matrix.MAKEFLAGS }}
MPI: ${{ matrix.MPI }}

# Run t8code tests with and without MPI and in serial and debug mode
t8code_tests:
needs: preparation
uses: ./.github/workflows/test_t8code.yml
strategy:
fail-fast: false
matrix:
MPI: [OFF, ON]
BUILD_TYPE: [Debug, Release]
include:
- MAKEFLAGS: -j4
with:
MAKEFLAGS: ${{ matrix.MAKEFLAGS }}
MPI: ${{ matrix.MPI }}
BUILD_TYPE: ${{ matrix.BUILD_TYPE }}
TEST_LEVEL: ${{ github.event_name == 'pull_request' && 'T8_TEST_LEVEL_MEDIUM' || 'T8_TEST_LEVEL_FULL' }} # Set TEST_LEVEL to medium if the event is a PR, otherwise full.

# Run t8code linkage tests with and without MPI and in serial and debug mode
t8code_linkage_tests:
needs: preparation
Expand All @@ -170,62 +139,3 @@ jobs:
MPI: ${{ matrix.MPI }}
BUILD_TYPE: ${{ matrix.BUILD_TYPE }}
TEST_LEVEL: ${{ github.event_name == 'pull_request' && 'T8_TEST_LEVEL_MEDIUM' || 'T8_TEST_LEVEL_FULL' }} # Set TEST_LEVEL to medium if the event is a PR, otherwise full.

# Run t8code linkage tests with and without MPI and in serial and debug mode
t8code_api_tests:
needs: preparation
uses: ./.github/workflows/test_t8code_api.yml
strategy:
fail-fast: false
matrix:
MPI: [ON] # For now the fortran API only supports building with MPI
BUILD_TYPE: [Debug, Release]
include:
- MAKEFLAGS: -j4
with:
MAKEFLAGS: ${{ matrix.MAKEFLAGS }}
MPI: ${{ matrix.MPI }}
BUILD_TYPE: ${{ matrix.BUILD_TYPE }}
TEST_LEVEL: ${{ github.event_name == 'pull_request' && 'T8_TEST_LEVEL_MEDIUM' || 'T8_TEST_LEVEL_FULL' }} # Set TEST_LEVEL to medium if the event is a PR, otherwise full.

# Run Valgrind check for every t8code test binary.
t8code_valgrind_tests:
if: (github.event_name == 'schedule' && github.repository == 'DLR-AMR/t8code') # Only run the Valgrind check in the scheduled run.
needs: preparation
uses: ./.github/workflows/test_valgrind.yml
with:
TEST_LEVEL: T8_TEST_LEVEL_BASIC # Do Valgrind check for test level T8_TEST_LEVEL_BASIC for performance reasons.

# Generate code coverage and deploy to Codecov.
t8code_code_coverage:
if: (github.event_name != 'merge_group')
needs: preparation
uses: ./.github/workflows/code_coverage.yml
with:
MAKEFLAGS: -j4
MPI: ON
BUILD_TYPE: Debug
TEST_LEVEL: T8_TEST_LEVEL_BASIC
secrets:
CODE_COV: ${{ secrets.CODE_COV }}

# Run t8code tests with shipped submodules. This test is only for the build system, so only one config is tested.
t8code_w_shipped_submodules_tests:
needs: fine_grained_trigger
secrets: inherit
if: ${{ needs.fine_grained_trigger.outputs.run_ci == 'true' }}
uses: ./.github/workflows/test_t8code_w_shipped_submodules.yml
with:
MAKEFLAGS: -j4
MPI: ON
BUILD_TYPE: Debug
TEST_LEVEL: ${{ github.event_name == 'pull_request' && 'T8_TEST_LEVEL_MEDIUM' || 'T8_TEST_LEVEL_FULL' }} # Set TEST_LEVEL to medium if the event is a PR, otherwise full.

t8code_doxygen_check:
uses: ./.github/workflows/check_doxygen.yml

t8code_tarball:
if: github.event.pull_request.draft == false
uses: ./.github/workflows/test_tarball.yml
with:
TEST_LEVEL: ${{ github.event_name == 'pull_request' && 'T8_TEST_LEVEL_MEDIUM' || 'T8_TEST_LEVEL_FULL' }} # Set TEST_LEVEL to medium if the event is a PR, otherwise full.