From 6dd2da99a12781c6edac009beddc12ae1d9e68e4 Mon Sep 17 00:00:00 2001 From: Davide Faconti Date: Sun, 20 Sep 2026 15:14:51 +0200 Subject: [PATCH] CI: run the Windows tests through ctest with --repeat until-pass The Windows and pixi-Windows jobs ran the gtest executable once, so a single wall-clock timing test missing its budget on a loaded runner failed the whole PR (RepeatTestAsync.RepeatTestAsync, SequenceTripleActionTest.TripleAction). Use ctest --repeat until-pass:3, as the macOS job already does. Co-Authored-By: Claude Fable 5.1 --- .github/workflows/cmake_windows.yml | 6 +++++- pixi.toml | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cmake_windows.yml b/.github/workflows/cmake_windows.yml index fb6086ea7..6ba5e48f4 100644 --- a/.github/workflows/cmake_windows.yml +++ b/.github/workflows/cmake_windows.yml @@ -49,4 +49,8 @@ jobs: - name: Run tests working-directory: ${{ github.workspace }}/build - run: $env:PATH+=";${{ matrix.build_type }}"; tests/${{ matrix.build_type }}/behaviortree_cpp_test.exe + # Some tests assert tight wall-clock timing, which the shared runners can + # not always meet: --repeat until-pass absorbs that flakiness (as on macOS). + run: | + $env:PATH += ";${{ github.workspace }}\build\${{ matrix.build_type }}" + ctest -C ${{ matrix.build_type }} --output-on-failure --repeat until-pass:3 diff --git a/pixi.toml b/pixi.toml index 955d13ef8..2c8691cb7 100644 --- a/pixi.toml +++ b/pixi.toml @@ -7,7 +7,7 @@ channels = ["conda-forge"] platforms = ["linux-64", "win-64"] [target.win-64.tasks] -test = "PATH=\"$PATH;build/Release\" build/tests/Release/behaviortree_cpp_test.exe" +test = "PATH=\"$PATH;$PIXI_PROJECT_ROOT/build/Release\" ctest --test-dir build -C Release --output-on-failure --repeat until-pass:3" [target.linux-64.tasks] test = "./build/tests/behaviortree_cpp_test"