Skip to content

Merge pull request #7048 from mmud/fix/issue-7046 #3

Merge pull request #7048 from mmud/fix/issue-7046

Merge pull request #7048 from mmud/fix/issue-7046 #3

# Copyright (c) 2026 The STE||AR Group
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
name: Build and Test
on:
pull_request:
push:
branches:
- master
- 'release**'
workflow_dispatch:
jobs:
configure-core-core_local-components:
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
- name: Configure (Running CMake)
shell: bash
timeout-minutes: 30
run: |
mkdir -p $GITHUB_WORKSPACE/build
cd $GITHUB_WORKSPACE/build
cmake --version
if [ "${{ github.event_name }}" != "pull_request" ] && \
( [ "${{ github.ref_name }}" == "master" ] || \
[[ "${{ github.ref_name }}" =~ ^release.* ]] || \
[ "${{ github.ref_type }}" == "tag" ] ); then
DOCUMENTATION_OUTPUT_FORMATS="html;singlehtml;latexpdf"
else
DOCUMENTATION_OUTPUT_FORMATS="html"
fi
# Disable Vc for now as otherwise we need to reconfigure during the
# install step, which in turn forces everything to be rebuilt.
# -DHPX_WITH_DATAPAR_VC=On
cmake \
$GITHUB_WORKSPACE \
-G "Ninja" \
-DCMAKE_BUILD_TYPE=Debug \
-DHPX_WITH_MALLOC=system \
-DHPX_WITH_FETCH_ASIO=Off \
-DHPX_WITH_GIT_COMMIT=${{ github.sha }} \
-DHPX_WITH_GIT_BRANCH="${{ github.ref_name }}" \
-DHPX_WITH_GIT_TAG="${{ github.ref_type == 'tag' && github.ref_name || '' }}" \
-DHPX_WITH_TOOLS=On \
-DCMAKE_CXX_FLAGS="-fcolor-diagnostics" \
-DHPX_WITH_TESTS_HEADERS=On \
-DHPX_WITH_COMPILER_WARNINGS=On \
-DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=On \
-DHPX_WITH_DEPRECATION_WARNINGS=On \
-DCMAKE_CXX_CLANG_TIDY=clang-tidy-20 \
-DHPX_WITH_THREAD_LOCAL_STORAGE=On \
-DHPX_WITH_STACKTRACES_STATIC_SYMBOLS=On \
-DHPX_WITH_STACKTRACES_DEMANGLE_SYMBOLS=Off \
-DHPX_WITH_TESTS_DEBUG_LOG=On \
-DHPX_WITH_TESTS_DEBUG_LOG_DESTINATION=$GITHUB_WORKSPACE/build/debug-log.txt \
-DHPX_WITH_SPINLOCK_DEADLOCK_DETECTION=On \
-DHPX_WITH_CHECK_MODULE_DEPENDENCIES=On \
-DHPX_LOGGING_WITH_SEPARATE_DESTINATIONS=Off \
-DHPX_WITH_THREAD_DEBUG_INFO=On \
-DHPX_COMMAND_LINE_HANDLING_WITH_JSON_CONFIGURATION_FILES=On \
-DHPX_WITH_FETCH_JSON=On \
-DCMAKE_EXPORT_COMPILE_COMMANDS=On \
-DHPX_WITH_DOCUMENTATION=On \
-DHPX_WITH_DOCUMENTATION_OUTPUT_FORMATS="${DOCUMENTATION_OUTPUT_FORMATS}" \
-DHPX_WITH_TESTS_COMMAND_LINE=--hpx:queuing=local-workrequesting-fifo \
-DHPX_WITH_TESTS_MAX_THREADS_PER_LOCALITY=2
- name: core_local (Building Core Local)
shell: bash
working-directory: build
run: |
ninja -j2 -k 0 hpx_core
- name: core (Building Core)
shell: bash
working-directory: build
run: |
ninja -j2 -k 0 core
- name: Components (Building Components)
shell: bash
working-directory: build
run: |
ninja -j2 -k 0 components
- name: Package Build Artifacts
run: tar -czf build.tar.gz build/
- name: Upload Build Artifacts
uses: actions/upload-artifact@v7
with:
name: hpx-build-${{ github.sha }}
path: build.tar.gz
retention-days: 3
tests-example1:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Examples (1)
shell: bash
working-directory: build
run: |
ninja -j2 -k 0 \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.examples1.targets`
- name: Running Example Tests
shell: bash
working-directory: build
run: |
ulimit -c unlimited
ctest \
--timeout 180 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.examples1.targets | sed ':b;N;$!bb;s/\n/|/g'`
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-example1
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-example1-artifacts
path: build/tests-example1/
tests-example2:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Examples (2)
shell: bash
working-directory: build
run: |
ninja -j2 -k 0 \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.examples2.targets`
- name: Running Example Tests
shell: bash
working-directory: build
run: |
ulimit -c unlimited
ctest \
--timeout 180 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.examples2.targets | sed ':b;N;$!bb;s/\n/|/g'` \
--exclude-regex \
"tests.examples.transpose.transpose_block_numa"
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-example2
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-example2-artifacts
path: build/tests-example2/
tests-unit1-algorithms:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Unit Tests (Algorithms, 1)
shell: bash
working-directory: build
run: |
ninja -j1 -k 0 \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit1.algorithms`
- name: Running Unit Tests
shell: bash
working-directory: build
run: |
ulimit -c unlimited
ctest \
--timeout 180 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit1.algorithms | sed ':b;N;$!bb;s/\n/|/g'`
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-unit1-algorithms
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-unit1-algorithms-artifacts
path: build/tests-unit1-algorithms/
tests-unit2-algorithms:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Unit Tests (Algorithms, 2)
shell: bash
working-directory: build
run: |
ninja -j1 -k 0 \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit2.algorithms`
- name: Running Unit Tests
shell: bash
working-directory: build
run: |
ulimit -c unlimited
ctest \
--timeout 180 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit2.algorithms | sed ':b;N;$!bb;s/\n/|/g'`
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-unit2-algorithms
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-unit2-algorithms-artifacts
path: build/tests-unit2-algorithms/
tests-unit3-algorithms:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Unit Tests (Algorithms, 3)
shell: bash
working-directory: build
run: |
ninja -j1 -k 0 \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit3.algorithms`
- name: Running Unit Tests
shell: bash
working-directory: build
run: |
ulimit -c unlimited
ctest \
--timeout 180 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit3.algorithms | sed ':b;N;$!bb;s/\n/|/g'` \
--exclude-regex \
"tests.unit.modules.algorithms.algorithms.foreach_std_policies"
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-unit3-algorithms
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-unit3-algorithms-artifacts
path: build/tests-unit3-algorithms/
tests-unit4-algorithms:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Unit Tests (Algorithms, 4)
shell: bash
working-directory: build
run: |
ninja -j1 -k 0 \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit4.algorithms`
- name: Running Unit Tests
shell: bash
working-directory: build
run: |
ulimit -c unlimited
ctest \
--timeout 180 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit4.algorithms | sed ':b;N;$!bb;s/\n/|/g'`
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-unit4-algorithms
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-unit4-algorithms-artifacts
path: build/tests-unit4-algorithms/
tests-unit1-container_algorithms:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Unit Tests (Containers Algorithms, 1)
shell: bash
working-directory: build
run: |
ninja -j2 -k 0 \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit1.container_algorithms`
- name: Running Unit Tests
shell: bash
working-directory: build
run: |
ulimit -c unlimited
ctest \
--timeout 180 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit1.container_algorithms | sed ':b;N;$!bb;s/\n/|/g'` \
--exclude-regex \
"tests.unit.modules.algorithms.container_algorithms.for_loop_range_generator"
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-unit1-container-algorithms
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-unit1-container-algorithms-artifacts
path: build/tests-unit1-container-algorithms/
tests-unit2-container_algorithms:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Unit Tests (Containers Algorithms, 2)
shell: bash
working-directory: build
run: |
ninja -j2 -k 0 \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit2.container_algorithms`
- name: Running Unit Tests
shell: bash
working-directory: build
run: |
ulimit -c unlimited
ctest \
--timeout 180 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit2.container_algorithms | sed ':b;N;$!bb;s/\n/|/g'`
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-unit2-container-algorithms
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-unit2-container-algorithms-artifacts
path: build/tests-unit2-container-algorithms/
tests-unit1-segmented_algorithms:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Unit Tests (Segmented Algorithms, 1)
shell: bash
working-directory: build
run: |
ninja -j1 -k 0 \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit1.segmented_algorithms`
- name: Running Unit Tests
shell: bash
working-directory: build
run: |
ulimit -c unlimited
ctest \
--timeout 180 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit1.segmented_algorithms \
| sed 's/tests\.unit\.modules\.segmented_algorithms\./tests.unit.modules.segmented_algorithms.distributed.tcp./g' \
| sed ':b;N;$!bb;s/\n/|/g'`
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-unit1-segmented-algorithms
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-unit1-segmented-algorithms-artifacts
path: build/tests-unit1-segmented-algorithms/
tests-unit2-segmented_algorithms:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Unit Tests (Segmented Algorithms, 2)
shell: bash
working-directory: build
run: |
ninja -j1 -k 0 \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit2.segmented_algorithms`
- name: Running Unit Tests
shell: bash
working-directory: build
run: |
ulimit -c unlimited
ctest \
--timeout 180 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit2.segmented_algorithms \
| sed 's/tests\.unit\.modules\.segmented_algorithms\./tests.unit.modules.segmented_algorithms.distributed.tcp./g' \
| sed ':b;N;$!bb;s/\n/|/g'`
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-unit2-segmented-algorithms
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-unit2-segmented-algorithms-artifacts
path: build/tests-unit2-segmented-algorithms/
tests-unit1:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Unit Tests (1)
shell: bash
working-directory: build
run: |
ninja -j2 -k 0 \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit1.targets`
- name: Running Unit Tests
shell: bash
working-directory: build
run: |
ulimit -c unlimited
ctest \
--timeout 180 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit1.targets | sed ':b;N;$!bb;s/\n/|/g'`
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-unit1
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-unit1-artifacts
path: build/tests-unit1/
tests-unit2:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Unit Tests (2)
shell: bash
working-directory: build
run: |
ninja -j2 -k 0 \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit2.targets`
- name: Running Unit Tests
shell: bash
working-directory: build
run: |
ulimit -c unlimited
ctest \
--timeout 180 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit2.targets | sed ':b;N;$!bb;s/\n/|/g'` \
--exclude-regex \
"tests.unit.modules.compute_local.numa_allocator"
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-unit2
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-unit2-artifacts
path: build/tests-unit2/
tests-unit3:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Unit Tests (3)
shell: bash
working-directory: build
run: |
ninja -j2 -k 0 \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit3.targets`
- name: Running Unit Tests
shell: bash
working-directory: build
run: |
ulimit -c unlimited
ctest \
--timeout 180 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit3.targets | sed ':b;N;$!bb;s/\n/|/g'`
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-unit3
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-unit3-artifacts
path: build/tests-unit3/
tests-unit4:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Unit Tests (4)
shell: bash
working-directory: build
run: |
ninja -j2 -k 0 \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit4.targets`
- name: Running Unit Tests
shell: bash
working-directory: build
run: |
ulimit -c unlimited
ctest \
--timeout 180 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit4.targets | sed ':b;N;$!bb;s/\n/|/g'` \
--exclude-regex \
"tests.unit.modules.resource_partitioner.scheduler_binding_check"
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-unit4
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-unit4-artifacts
path: build/tests-unit4/
tests-unit5:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Unit Tests (5)
shell: bash
working-directory: build
run: |
ninja -j2 -k 0 \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit5.targets`
- name: Running Unit Tests
shell: bash
working-directory: build
run: |
ulimit -c unlimited
ctest \
--timeout 180 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.unit5.targets | sed ':b;N;$!bb;s/\n/|/g'`
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-unit5
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-unit5-artifacts
path: build/tests-unit5/
tests-regression1:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Regression Tests (1)
shell: bash
working-directory: build
run: |
ninja -j2 -k 0 \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.regressions1.targets`
- name: Running Regressions Tests
shell: bash
working-directory: build
run: |
ulimit -c unlimited
ctest \
--timeout 180 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.regressions1.targets | sed ':b;N;$!bb;s/\n/|/g'` \
--exclude-regex \
"tests.regressions.modules.threading_base.thread_stacksize_current"
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-regressions1
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-regressions1-artifacts
path: build/tests-regressions1/
tests-regression2:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Regression Tests (2)
shell: bash
working-directory: build
run: |
ninja -j2 -k 0 \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.regressions2.targets`
- name: Running Regressions Tests
shell: bash
working-directory: build
run: |
ulimit -c unlimited
ctest \
--timeout 180 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ $GITHUB_WORKSPACE/.github/test-targets/tests.regressions2.targets | sed ':b;N;$!bb;s/\n/|/g'` \
--exclude-regex \
"tests.regressions.modules.command_line_handling_local|\
tests.regressions.modules.parcelset.distributed.tcp.nested_vectors_6623|\
tests.regressions.modules.parcelset.distributed.tcp.very_big_tchunk|\
tests.regressions.modules.parcelset.distributed.tcp.very_big_parcel|\
tests.regressions.modules.parcelset.distributed.tcp.very_big_parcel_int_max_plus_1"
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-regressions2
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-regressions2-artifacts
path: build/tests-regressions2/
tests-headers1_1:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Header Tests (part 1/1)
shell: bash
working-directory: build
run: |
ctest --timeout 60 -j1 -T test --no-compress-output --output-on-failure \
-R "tests.headers.modules.[q-s].*"
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-headers1_1
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-headers1_1-artifacts
path: build/tests-headers1_1/
tests-headers1_2:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Header Tests (part 1/2)
shell: bash
working-directory: build
run: |
ctest --timeout 60 -j1 -T test --no-compress-output --output-on-failure \
-R "tests.headers.modules.[t-z].*"
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-headers1_2
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-headers1_2-artifacts
path: build/tests-headers1_2/
tests-headers2_1:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Header Tests (part 2/1)
shell: bash
working-directory: build
run: |
ctest --timeout 60 -j1 -T test --no-compress-output --output-on-failure \
-R "tests.headers.modules.a[a-h].*"
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-headers2_1
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-headers2_1-artifacts
path: build/tests-headers2_1/
tests-headers2_2:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Header Tests (part 2/2)
shell: bash
working-directory: build
run: |
ctest --timeout 60 -j1 -T test --no-compress-output --output-on-failure \
-R "tests.headers.modules.al.*"
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-headers2_2
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-headers2_2-artifacts
path: build/tests-headers2_2/
tests-headers2_3:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Header Tests (part 2/3)
shell: bash
working-directory: build
run: |
ctest --timeout 60 -j1 -T test --no-compress-output --output-on-failure \
-R "tests.headers.modules.((a[m-z])|b).*"
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-headers2_3
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-headers2_3-artifacts
path: build/tests-headers2_3/
tests-headers3_1:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Header Tests (part 3/1)
shell: bash
working-directory: build
run: |
ctest --timeout 60 -j1 -T test --no-compress-output --output-on-failure \
-R "tests.headers.modules.[c-d].*"
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-headers3_1
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-headers3_1-artifacts
path: build/tests-headers3_1/
tests-headers3_2:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Header Tests (part 3/2)
shell: bash
working-directory: build
run: |
ctest --timeout 60 -j1 -T test --no-compress-output --output-on-failure \
-R "tests.headers.modules.[e-g].*"
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-headers3_2
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-headers3_2-artifacts
path: build/tests-headers3_2/
tests-headers4_1:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Header Tests (part 4/1)
shell: bash
working-directory: build
run: |
ctest --timeout 60 -j1 -T test --no-compress-output --output-on-failure \
-R "tests.headers.modules.[h-l].*"
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-headers4_1
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-headers4_1-artifacts
path: build/tests-headers4_1/
tests-headers4_2:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Header Tests (part 4/2)
shell: bash
working-directory: build
run: |
ctest --timeout 60 -j1 -T test --no-compress-output --output-on-failure \
-R "tests.headers.modules.[m-p].*"
- name: Collect test artifacts
if: always()
uses: ./.github/actions/collect-artifacts
with:
job-name: tests-headers4_2
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-headers4_2-artifacts
path: build/tests-headers4_2/
tests-performance:
needs: configure-core-core_local-components
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
.github
sparse-checkout-cone-mode: false
- name: Download build artifacts
uses: actions/download-artifact@v8
with:
name: hpx-build-${{ github.sha }}
- name: Extract build artifacts
run: tar -xzf build.tar.gz
- name: Building Performance Tests
shell: bash
working-directory: build
run: |
ninja -j2 -k 0 tests.performance