From be7355af1397b4d60e5d0c4207fcaad48d4bda21 Mon Sep 17 00:00:00 2001 From: lkdvos Date: Wed, 28 Oct 2026 18:02:14 -0400 Subject: [PATCH 1/2] CI: test macOS and Windows on PRs once ubuntu passes, cancel runs of closed PRs Co-Authored-By: Claude Opus 5.5 --- .github/workflows/Tests.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Tests.yml b/.github/workflows/Tests.yml index 89578c7c3..54013c44e 100644 --- a/.github/workflows/Tests.yml +++ b/.github/workflows/Tests.yml @@ -8,7 +8,7 @@ on: paths-ignore: - 'docs/**' pull_request: - types: [opened, synchronize, reopened, ready_for_review, converted_to_draft] + types: [opened, synchronize, reopened, ready_for_review, converted_to_draft, closed] workflow_dispatch: concurrency: @@ -22,6 +22,8 @@ jobs: with: fast: "${{ github.event.pull_request.draft == true }}" exclude: '["testsuite"]' + extra-os-on-prs: true + staged: ${{ github.event_name == 'pull_request' }} timeout-minutes: 120 secrets: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} From 7de10c61a7470dff0505deca19a41c99cbdd142c Mon Sep 17 00:00:00 2001 From: lkdvos Date: Thu, 29 Oct 2026 08:23:02 -0400 Subject: [PATCH 2/2] Run the AD tests on macOS and Windows CI The exclusions of the Enzyme (macOS, Windows), Mooncake and ChainRules (macOS) tests were only applied when no test group was selected, so they never applied in the TestGroups workflow, where these tests pass on both systems. Co-Authored-By: Claude Opus 5.5 --- test/runtests.jl | 8 -------- 1 file changed, 8 deletions(-) diff --git a/test/runtests.jl b/test/runtests.jl index 8dcfeeba7..f5e839b49 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -25,14 +25,6 @@ if filter_tests!(testsuite, args) delete!(testsuite, "common/truncate") delete!(testsuite, "decompositions/gen_eig") filter!(p -> !startswith(first(p), "chainrules/"), testsuite) - else - is_apple_ci = Sys.isapple() && get(ENV, "CI", "false") == "true" - is_windows_ci = Sys.iswindows() && get(ENV, "CI", "false") == "true" - if is_apple_ci - filter!(p -> !startswith(first(p), "mooncake/"), testsuite) - filter!(p -> !startswith(first(p), "chainrules/"), testsuite) - end - (is_windows_ci || is_apple_ci) && filter!(p -> !startswith(first(p), "enzyme/"), testsuite) end end