From 5b53d2a6fc2b5f3d6400cdbb3393be9d814ff6a9 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Wed, 17 Dec 2025 20:46:35 +0100 Subject: [PATCH 1/6] Add a basic cmake preset configuration --- CMakePresets.json | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 CMakePresets.json diff --git a/CMakePresets.json b/CMakePresets.json new file mode 100644 index 000000000..cb7529059 --- /dev/null +++ b/CMakePresets.json @@ -0,0 +1,45 @@ +{ + "version": 3, + "configurePresets": [ + { + "name": "common", + "hidden": true, + "cacheVariables": { + "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", + "CMAKE_CXX_STANDARD": "20", + "CMAKE_CXX_FLAGS": " -fdiagnostics-color=always ", + "PODIO_USE_CLANG_FORMAT": "OFF", + "PODIO_SET_RPATH": "ON" + } + }, + { + "name": "base-build", + "displayName": "Base Build including RNTuple backend and DataSource", + "inherits": "common", + "generator": "Ninja", + "cacheVariables": { + "BUILD_TESTING": "ON", + "ENABLE_RNTUPLE": "ON", + "ENABLE_DATASOURCE": "ON", + "CMAKE_CXX_COMPILER_LAUNCHER": "ccache" + } + }, + { + "name": "full-build", + "displayName": "Full build including schema evolution tests and SIO", + "inherits": "base-build", + "cacheVariables": { + "ENABLE_SIO": "ON", + "PODIO_ENABLE_SCHEMA_EVOLUTION_TESTS": "ON" + } + }, + { + "name": "ci-build", + "displayName": "Full build with warnings as errors", + "inherits": "full-build", + "cacheVariables": { + "CMAKE_CXX_FLAGS": " -fdiagnostics-color=always -Werror -Wno-error=deprecated-declarations" + } + } + ] +} From 07e7f68985836bf140469f97de3a76d870e4286e Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Wed, 17 Dec 2025 20:54:47 +0100 Subject: [PATCH 2/6] Start to use presets for CI workflows --- .github/workflows/edm4eic.yml | 10 ++------- .github/workflows/edm4hep.yaml | 36 ++++++++++++------------------ .github/workflows/key4hep.yml | 15 +++---------- .github/workflows/pre-commit.yml | 14 +++--------- .github/workflows/publish-docs.yml | 5 ++--- .github/workflows/sanitizers.yaml | 20 +++++------------ .github/workflows/test.yml | 19 +++++----------- .github/workflows/ubuntu.yml | 20 +++++------------ 8 files changed, 42 insertions(+), 97 deletions(-) diff --git a/.github/workflows/edm4eic.yml b/.github/workflows/edm4eic.yml index 6af7b7098..c26725b74 100644 --- a/.github/workflows/edm4eic.yml +++ b/.github/workflows/edm4eic.yml @@ -42,17 +42,11 @@ jobs: STARTDIR=$(pwd) echo "::group::Build podio" cmake -B ${STARTDIR}/podio/build -S ${STARTDIR}/podio \ + --preset ci-build \ -DCMAKE_INSTALL_PREFIX=${STARTDIR}/podio/install \ - -DCMAKE_CXX_STANDARD=20 \ - -DCMAKE_CXX_FLAGS=" -fdiagnostics-color=always -Werror -Wno-error=deprecated-declarations " \ - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ -DUSE_EXTERNAL_CATCH2=ON \ - -DENABLE_RNTUPLE=ON \ - -DENABLE_DATASOURCE=ON \ - -DPODIO_SET_RPATH=ON \ -DBUILD_TESTING=OFF \ - -DENABLE_JULIA=OFF \ - -G Ninja + -DENABLE_JULIA=OFF cmake --build ${STARTDIR}/podio/build --target install cd ${STARTDIR}/podio && source init.sh && source env.sh && cd ${STARTDIR} echo "::endgroup::" diff --git a/.github/workflows/edm4hep.yaml b/.github/workflows/edm4hep.yaml index a73d4361f..37f77f1a4 100644 --- a/.github/workflows/edm4hep.yaml +++ b/.github/workflows/edm4hep.yaml @@ -42,43 +42,35 @@ jobs: STARTDIR=$(pwd) echo "::group::Build Catch2" cd $STARTDIR/catch2 - mkdir build && cd build - cmake -DCMAKE_CXX_STANDARD=$([[ ${{ matrix.LCG }} == *-gcc15-* ]] && echo "23" || echo "20") -DCMAKE_INSTALL_PREFIX=../install -G Ninja .. - ninja -k0 install + cmake -B build -S . -DCMAKE_CXX_STANDARD=$([[ ${{ matrix.LCG }} == *-gcc15-* ]] && echo "23" || echo "20") -DCMAKE_INSTALL_PREFIX=$(pwd)/install -G Ninja + cmake --build build --target install export CMAKE_PREFIX_PATH=$STARTDIR/catch2/install:$CMAKE_PREFIX_PATH echo "::endgroup::" echo "::group::Build podio" cd $STARTDIR/podio - mkdir build && cd build - cmake -DENABLE_SIO=ON \ + cmake -B build -S . \ + --preset ci-build \ -DENABLE_JULIA=ON \ - -DENABLE_DATASOURCE=ON \ - -DENABLE_RNTUPLE=ON \ - -DCMAKE_INSTALL_PREFIX=../install \ + -DCMAKE_INSTALL_PREFIX=$(pwd)/install \ -DCMAKE_CXX_STANDARD=$([[ ${{ matrix.LCG }} == *-gcc15-* ]] && echo "23" || echo "20") \ - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ - -DCMAKE_CXX_FLAGS=" -fdiagnostics-color=always -Werror -Wno-error=deprecated-declarations " \ -DUSE_EXTERNAL_CATCH2=ON \ - -DBUILD_TESTING=ON \ - -DPODIO_RUN_STRACE_TEST=ON \ - -DPODIO_ENABLE_SCHEMA_EVOLUTION_TESTS=ON \ - -G Ninja .. - ninja -k0 + -DPODIO_RUN_STRACE_TEST=ON + cmake --build build -- -k0 echo "::endgroup::" echo "::group::Test and install podio" - ctest --output-on-failure --schedule-random -j$(nproc) --timeout 600 - ninja install + ctest --test-dir build --output-on-failure --schedule-random -j$(nproc) --timeout 600 + cmake --build build --target install cd $STARTDIR/podio source init.sh && source env.sh echo "::endgroup::" echo "::group::Build and test EDM4hep" cd $STARTDIR/edm4hep - mkdir build && cd build - cmake -DCMAKE_CXX_STANDARD=$([[ ${{ matrix.LCG }} == *-gcc15-* ]] && echo "23" || echo "20") \ + cmake -B build -S . \ + -DCMAKE_CXX_STANDARD=$([[ ${{ matrix.LCG }} == *-gcc15-* ]] && echo "23" || echo "20") \ -DCMAKE_CXX_FLAGS=" -fdiagnostics-color=always " \ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ -DUSE_EXTERNAL_CATCH2=ON \ - -G Ninja .. - ninja -k0 - ctest --output-on-failure + -G Ninja + cmake --build build -- -k0 + ctest --test-dir build --output-on-failure echo "::endgroup::" diff --git a/.github/workflows/key4hep.yml b/.github/workflows/key4hep.yml index 0d1c43d85..5e9704b02 100644 --- a/.github/workflows/key4hep.yml +++ b/.github/workflows/key4hep.yml @@ -40,19 +40,10 @@ jobs: echo "::group::Run CMake" mkdir -p build install cd build - cmake -DENABLE_SIO=ON \ - -DENABLE_JULIA=OFF \ - -DCMAKE_INSTALL_PREFIX=../install \ - -DCMAKE_CXX_STANDARD=20 \ - -DCMAKE_CXX_FLAGS=" -fdiagnostics-color=always -Werror -Wno-error=deprecated-declarations " \ - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ + cmake --preset ci-build \ + -DCMAKE_INSTALL_PREFIX=$(pwd)/install \ -DUSE_EXTERNAL_CATCH2=AUTO \ - -DENABLE_RNTUPLE=ON \ - -DENABLE_DATASOURCE=ON \ - -DPODIO_SET_RPATH=ON \ - -DPODIO_RUN_STRACE_TEST=ON \ - -DPODIO_ENABLE_SCHEMA_EVOLUTION_TESTS=ON \ - -G Ninja .. + -DPODIO_RUN_STRACE_TEST=ON echo "::endgroup::" echo "::group::Build" ninja -k0 diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index d992dc59d..6af7500a4 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -25,19 +25,11 @@ jobs: git config --global --add safe.directory $(pwd) echo "::endgroup::" echo "::group::Run CMake" - mkdir build - cd build - cmake .. -DENABLE_SIO=ON \ + cmake -B build -S . \ + --preset ci-build \ -DENABLE_JULIA=ON \ - -DENABLE_RNTUPLE=ON \ - -DENABLE_DATASOURCE=ON \ - -DCMAKE_CXX_STANDARD=20 \ - -DCMAKE_CXX_FLAGS=" -fdiagnostics-color=always -Werror "\ - -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ - -DPODIO_ENABLE_SCHEMA_EVOLUTION_TESTS=ON \ -DUSE_EXTERNAL_CATCH2=OFF - ln -s $(pwd)/compile_commands.json ../ - cd .. + ln -s build/compile_commands.json compile_commands.json echo "::endgroup::" echo "::group::Run pre-commit" pre-commit run --show-diff-on-failure \ diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 5188903ec..529cf9d6c 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -32,9 +32,8 @@ jobs: export PYTHONPATH=$VIRTUAL_ENV/lib/python3.$(python3 -c 'import sys; print(f"{sys.version_info[1]}")')/site-packages:$PYTHONPATH echo -e "::endgroup::\n::group::Build podio" cmake -B build . --install-prefix=$(pwd)/install \ - -GNinja -DENABLE_SIO=ON -DENABLE_RNTUPLE=ON \ - -DENABLE_DATASOURCE=ON -DBUILD_TESTING=OFF \ - -DCMAKE_CXX_STANDARD=20 + --preset full-build \ + -DBUILD_TESTING=OFF cmake --build build --target install source ./init.sh && source ./env.sh echo -e "::endgroup::\n::group::build doc" diff --git a/.github/workflows/sanitizers.yaml b/.github/workflows/sanitizers.yaml index aa0d74b83..23e860552 100644 --- a/.github/workflows/sanitizers.yaml +++ b/.github/workflows/sanitizers.yaml @@ -41,23 +41,15 @@ jobs: ccache-key: ccache-sanitizers-el9-${{ matrix.compiler }}-${{ matrix.sanitizer }} run: | echo "::group::Run CMake" - mkdir -p build - cd build - cmake -DCMAKE_BUILD_TYPE=Debug \ + cmake -B build S . \ + --preset ci-build \ + -DCMAKE_BUILD_TYPE=Debug \ -DUSE_SANITIZER=${{ matrix.sanitizer }} \ - -DCMAKE_CXX_STANDARD=$([[ ${{ matrix.compiler }} == gcc15 ]] && echo "23" || echo "20") \ - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ - -DCMAKE_CXX_FLAGS=" -fdiagnostics-color=always " \ - -DENABLE_SIO=ON \ - -DENABLE_JULIA=OFF \ - -DENABLE_RNTUPLE=ON \ - -DENABLE_DATASOURCE=ON \ - -DPODIO_ENABLE_SCHEMA_EVOLUTION_TESTS=ON \ - -G Ninja .. + -DCMAKE_CXX_STANDARD=$([[ ${{ matrix.compiler }} == gcc15 ]] && echo "23" || echo "20") echo "::endgroup::" echo "::group::Build" - ninja -k0 + cmake --build build -- -k0 echo "::endgroup::" echo "::group::Run tests" - ctest --output-on-failure --schedule-random -j$(nproc) + ctest --test-dir build --output-on-failure --schedule-random -j$(nproc) echo "::endgroup::" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ea8b98009..e519f7d54 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -34,24 +34,17 @@ jobs: run: | echo "::group::Run CMake" # export JULIA_DEPOT_PATH="$(mktemp -d -p /tmp -t julia_depot_XXXXX):" - mkdir -p build install - cd build - cmake -DENABLE_SIO=ON \ + cmake -B build -S . \ + --preset ci-build \ -DENABLE_JULIA=ON \ -DENABLE_RNTUPLE=$([[ ${{ matrix.LCG }} == LCG_104/* ]] && echo "OFF" || echo "ON") \ - -DENABLE_DATASOURCE=ON \ -DPODIO_RUN_STRACE_TEST=$([[ ${{ matrix.LCG }} == LCG_104/* ]] && echo "OFF" || echo "ON") \ -DCMAKE_INSTALL_PREFIX=../install \ - -DCMAKE_CXX_STANDARD=$([[ ${{ matrix.LCG }} == *-gcc15-* ]] && echo "23" || echo "20") \ - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ - -DCMAKE_CXX_FLAGS=" -fdiagnostics-color=always -Werror -Wno-error=deprecated-declarations " \ -DUSE_EXTERNAL_CATCH2=AUTO \ - -DPODIO_USE_CLANG_FORMAT=AUTO \ - -DPODIO_ENABLE_SCHEMA_EVOLUTION_TESTS=ON \ - -G Ninja .. + -DPODIO_USE_CLANG_FORMAT=AUTO echo "::endgroup::" echo "::group::Build" - ninja -k0 + cmake --build build -- -k0 echo "::endgroup::" echo "::group::Julia StaticArrays Package Install" # # Temporary workaround for https://its.cern.ch/jira/browse/SPI-2838 @@ -59,8 +52,8 @@ jobs: julia -e 'import Pkg; Pkg.add("StaticArrays")' echo "::endgroup" echo "::group::Run tests" - ctest --output-on-failure --schedule-random -j$(nproc) --timeout 600 + ctest --test-dir build --output-on-failure --schedule-random -j$(nproc) --timeout 600 echo "::endgroup::" echo "::group::Install" - ninja install + cmake --build build --target install echo "::endgroup::" diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 4187e4180..ec88fbefd 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -30,31 +30,23 @@ jobs: ccache-key: ccache-ubuntu-${{ matrix.LCG }} run: | echo "::group::Run CMake" - mkdir -p build install - cd build - cmake -DENABLE_SIO=ON \ + cmake -B build -S . \ + --preset ci-build \ -DENABLE_JULIA=ON \ - -DENABLE_DATASOURCE=ON \ -DCMAKE_INSTALL_PREFIX=../install \ -DCMAKE_CXX_STANDARD=20 \ - -DCMAKE_CXX_FLAGS=" -fdiagnostics-color=always -Werror -Wno-error=deprecated-declarations " \ - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ -DUSE_EXTERNAL_CATCH2=OFF \ - -DPODIO_SET_RPATH=ON \ - -DPODIO_RUN_STRACE_TEST=ON \ - -DENABLE_RNTUPLE=ON \ - -DPODIO_ENABLE_SCHEMA_EVOLUTION_TESTS=ON \ - -G Ninja .. + -DPODIO_RUN_STRACE_TEST=ON echo "::endgroup::" echo "::group::Build" - ninja -k0 + cmake --build build -- -k0 echo "::endgroup" echo "::group::Julia StaticArrays Package Install" julia -e 'import Pkg; Pkg.add("StaticArrays")' echo "::endgroup" echo "::group::Run tests" - ctest --output-on-failure --schedule-random -j$(nproc) --timeout 600 + ctest --test-dir build --output-on-failure --schedule-random -j$(nproc) --timeout 600 echo "::endgroup::" echo "::group::Install" - ninja install + cmake --build build --target install echo "::endgroup::" From d5fed917bd2817b750314a95870b5eb4a1fe2723 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Thu, 18 Dec 2025 10:05:12 +0100 Subject: [PATCH 3/6] Add a build and a test preset for CI workflows --- CMakePresets.json | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/CMakePresets.json b/CMakePresets.json index cb7529059..d9743d210 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -4,6 +4,7 @@ { "name": "common", "hidden": true, + "binaryDir": "${sourceDir}/build", "cacheVariables": { "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", "CMAKE_CXX_STANDARD": "20", @@ -38,8 +39,35 @@ "displayName": "Full build with warnings as errors", "inherits": "full-build", "cacheVariables": { - "CMAKE_CXX_FLAGS": " -fdiagnostics-color=always -Werror -Wno-error=deprecated-declarations" + "CMAKE_CXX_FLAGS": " -fdiagnostics-color=always -Werror -Wno-error=deprecated-declarations", + "PODIO_USE_CLANG_FORMAT": "AUTO" } } + ], + + "buildPresets": [ + { + "name": "ci-build", + "displayName": "Building like on CI", + "configurePreset": "ci-build", + "nativeToolOptions": ["-k0"] + } + ], + + "testPresets": [ + { + "name": "ci-build", + "displayName": "Testing like on CI", + "configurePreset": "ci-build", + "execution": { + "stopOnFailure": false, + "scheduleRandom": true, + "timeout": 600 + }, + "output": { + "outputOnFailure": true + } + + } ] } From 8ca86934a8c05ddf8977175224dfd1cd003b315f Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Thu, 18 Dec 2025 10:11:36 +0100 Subject: [PATCH 4/6] Use build and test presets in CI workflows --- .github/workflows/edm4eic.yml | 4 ++-- .github/workflows/edm4hep.yaml | 9 ++++----- .github/workflows/key4hep.yml | 8 +++----- .github/workflows/publish-docs.yml | 2 +- .github/workflows/test.yml | 9 ++++----- .github/workflows/ubuntu.yml | 9 ++++----- 6 files changed, 18 insertions(+), 23 deletions(-) diff --git a/.github/workflows/edm4eic.yml b/.github/workflows/edm4eic.yml index c26725b74..1c864e706 100644 --- a/.github/workflows/edm4eic.yml +++ b/.github/workflows/edm4eic.yml @@ -41,13 +41,13 @@ jobs: run: | STARTDIR=$(pwd) echo "::group::Build podio" - cmake -B ${STARTDIR}/podio/build -S ${STARTDIR}/podio \ + cmake -S ${STARTDIR}/podio \ --preset ci-build \ -DCMAKE_INSTALL_PREFIX=${STARTDIR}/podio/install \ -DUSE_EXTERNAL_CATCH2=ON \ -DBUILD_TESTING=OFF \ -DENABLE_JULIA=OFF - cmake --build ${STARTDIR}/podio/build --target install + cmake --build ${STARTDIR}/podio/build --preset ci-build --target install cd ${STARTDIR}/podio && source init.sh && source env.sh && cd ${STARTDIR} echo "::endgroup::" diff --git a/.github/workflows/edm4hep.yaml b/.github/workflows/edm4hep.yaml index 37f77f1a4..8ac679d16 100644 --- a/.github/workflows/edm4hep.yaml +++ b/.github/workflows/edm4hep.yaml @@ -48,18 +48,17 @@ jobs: echo "::endgroup::" echo "::group::Build podio" cd $STARTDIR/podio - cmake -B build -S . \ - --preset ci-build \ + cmake -S . --preset ci-build \ -DENABLE_JULIA=ON \ -DCMAKE_INSTALL_PREFIX=$(pwd)/install \ -DCMAKE_CXX_STANDARD=$([[ ${{ matrix.LCG }} == *-gcc15-* ]] && echo "23" || echo "20") \ -DUSE_EXTERNAL_CATCH2=ON \ -DPODIO_RUN_STRACE_TEST=ON - cmake --build build -- -k0 + cmake --build --preset ci-build echo "::endgroup::" echo "::group::Test and install podio" - ctest --test-dir build --output-on-failure --schedule-random -j$(nproc) --timeout 600 - cmake --build build --target install + ctest --preset ci-build -j$(nproc) + cmake --build --preset ci-build --target install cd $STARTDIR/podio source init.sh && source env.sh echo "::endgroup::" diff --git a/.github/workflows/key4hep.yml b/.github/workflows/key4hep.yml index 5e9704b02..004971945 100644 --- a/.github/workflows/key4hep.yml +++ b/.github/workflows/key4hep.yml @@ -38,19 +38,17 @@ jobs: echo "::group::Run k4_local_repo" k4_local_repo echo "::group::Run CMake" - mkdir -p build install - cd build cmake --preset ci-build \ -DCMAKE_INSTALL_PREFIX=$(pwd)/install \ -DUSE_EXTERNAL_CATCH2=AUTO \ -DPODIO_RUN_STRACE_TEST=ON echo "::endgroup::" echo "::group::Build" - ninja -k0 + cmake --build --preset ci-build echo "::endgroup" echo "::group::Run tests" - ctest --output-on-failure --schedule-random -j$(nproc) --timeout 600 + ctest --preset ci-build -j$(nproc) echo "::endgroup::" echo "::group::Install" - ninja install + cmake --build --preset ci-build --target install echo "::endgroup::" diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 529cf9d6c..31d225749 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -31,7 +31,7 @@ jobs: python3 -m pip install -r doc/requirements.txt export PYTHONPATH=$VIRTUAL_ENV/lib/python3.$(python3 -c 'import sys; print(f"{sys.version_info[1]}")')/site-packages:$PYTHONPATH echo -e "::endgroup::\n::group::Build podio" - cmake -B build . --install-prefix=$(pwd)/install \ + cmake -S . --install-prefix=$(pwd)/install \ --preset full-build \ -DBUILD_TESTING=OFF cmake --build build --target install diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e519f7d54..7b7b0b006 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -34,8 +34,7 @@ jobs: run: | echo "::group::Run CMake" # export JULIA_DEPOT_PATH="$(mktemp -d -p /tmp -t julia_depot_XXXXX):" - cmake -B build -S . \ - --preset ci-build \ + cmake --preset ci-build \ -DENABLE_JULIA=ON \ -DENABLE_RNTUPLE=$([[ ${{ matrix.LCG }} == LCG_104/* ]] && echo "OFF" || echo "ON") \ -DPODIO_RUN_STRACE_TEST=$([[ ${{ matrix.LCG }} == LCG_104/* ]] && echo "OFF" || echo "ON") \ @@ -44,7 +43,7 @@ jobs: -DPODIO_USE_CLANG_FORMAT=AUTO echo "::endgroup::" echo "::group::Build" - cmake --build build -- -k0 + cmake --build --preset ci-build echo "::endgroup::" echo "::group::Julia StaticArrays Package Install" # # Temporary workaround for https://its.cern.ch/jira/browse/SPI-2838 @@ -52,8 +51,8 @@ jobs: julia -e 'import Pkg; Pkg.add("StaticArrays")' echo "::endgroup" echo "::group::Run tests" - ctest --test-dir build --output-on-failure --schedule-random -j$(nproc) --timeout 600 + ctest --preset ci-build -j$(nproc) echo "::endgroup::" echo "::group::Install" - cmake --build build --target install + cmake --build --preset ci-build --target install echo "::endgroup::" diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index ec88fbefd..629ca6d08 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -30,8 +30,7 @@ jobs: ccache-key: ccache-ubuntu-${{ matrix.LCG }} run: | echo "::group::Run CMake" - cmake -B build -S . \ - --preset ci-build \ + cmake -S . --preset ci-build \ -DENABLE_JULIA=ON \ -DCMAKE_INSTALL_PREFIX=../install \ -DCMAKE_CXX_STANDARD=20 \ @@ -39,14 +38,14 @@ jobs: -DPODIO_RUN_STRACE_TEST=ON echo "::endgroup::" echo "::group::Build" - cmake --build build -- -k0 + cmake --build --preset ci-build echo "::endgroup" echo "::group::Julia StaticArrays Package Install" julia -e 'import Pkg; Pkg.add("StaticArrays")' echo "::endgroup" echo "::group::Run tests" - ctest --test-dir build --output-on-failure --schedule-random -j$(nproc) --timeout 600 + ctest --preset ci-build -j$(nproc) echo "::endgroup::" echo "::group::Install" - cmake --build build --target install + cmake --build --preset ci-build --target install echo "::endgroup::" From f403992f88a504b813dba3a882ffb2b80b215d78 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Fri, 19 Dec 2025 14:56:52 +0100 Subject: [PATCH 5/6] Do not use preset for building EDM4eic --- .github/workflows/edm4eic.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/edm4eic.yml b/.github/workflows/edm4eic.yml index 1c864e706..8f6901883 100644 --- a/.github/workflows/edm4eic.yml +++ b/.github/workflows/edm4eic.yml @@ -44,10 +44,9 @@ jobs: cmake -S ${STARTDIR}/podio \ --preset ci-build \ -DCMAKE_INSTALL_PREFIX=${STARTDIR}/podio/install \ - -DUSE_EXTERNAL_CATCH2=ON \ -DBUILD_TESTING=OFF \ -DENABLE_JULIA=OFF - cmake --build ${STARTDIR}/podio/build --preset ci-build --target install + cmake --build ${STARTDIR}/podio/build --target install cd ${STARTDIR}/podio && source init.sh && source env.sh && cd ${STARTDIR} echo "::endgroup::" From b9390109b9e67b9972d54c1d2eb46bafa34271cd Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Fri, 19 Dec 2025 14:58:05 +0100 Subject: [PATCH 6/6] Remove unnecessary argument for linux builds --- .github/workflows/test.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7b7b0b006..4456fd810 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -38,9 +38,8 @@ jobs: -DENABLE_JULIA=ON \ -DENABLE_RNTUPLE=$([[ ${{ matrix.LCG }} == LCG_104/* ]] && echo "OFF" || echo "ON") \ -DPODIO_RUN_STRACE_TEST=$([[ ${{ matrix.LCG }} == LCG_104/* ]] && echo "OFF" || echo "ON") \ - -DCMAKE_INSTALL_PREFIX=../install \ - -DUSE_EXTERNAL_CATCH2=AUTO \ - -DPODIO_USE_CLANG_FORMAT=AUTO + -DCMAKE_INSTALL_PREFIX=$(pwd)/install \ + -DUSE_EXTERNAL_CATCH2=AUTO echo "::endgroup::" echo "::group::Build" cmake --build --preset ci-build