Skip to content

Commit 65055a7

Browse files
Canonical CI: grouped-tests.yml + root test/test_groups.toml
Convert the root test workflow (CI.yml) to the canonical thin caller of SciML/.github/.github/workflows/grouped-tests.yml@v1, with the group x version matrix declared once in test/test_groups.toml. - CI.yml: replace the hand-maintained version/os/arch matrix job (which called tests.yml@v1 directly) with a thin caller of grouped-tests.yml@v1. on: and concurrency: preserved verbatim; coverage:false carried over (non-default). - test/test_groups.toml: [Core] versions=["lts","1","pre"]; [QA] versions=["lts","1"]. Linux-only (no os axis). - test/runtests.jl: add GROUP dispatch (default "All"). Existing suite runs under All/Core; QA group runs test/qa/qa.jl. - test/qa/: isolated QA env (Aqua, JET, Test, SymbolicAnalysis via [sources] path) + qa.jl running Aqua.test_all + JET.test_package(target_defined_modules). QA group is newly wired; Aqua/JET run in CI for the first time. No exclusions were pre-added; any genuine findings will be triaged in a follow-up. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 369ec5f commit 65055a7

5 files changed

Lines changed: 63 additions & 38 deletions

File tree

.github/workflows/CI.yml

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,7 @@ concurrency:
1313
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
1414
jobs:
1515
tests:
16-
name: "Tests"
17-
strategy:
18-
fail-fast: false
19-
matrix:
20-
version:
21-
- "1"
22-
os:
23-
- ubuntu-latest
24-
arch:
25-
- x64
26-
uses: "SciML/.github/.github/workflows/tests.yml@v1"
16+
uses: "SciML/.github/.github/workflows/grouped-tests.yml@v1"
2717
with:
28-
julia-version: "${{ matrix.version }}"
29-
os: "${{ matrix.os }}"
30-
julia-arch: "${{ matrix.arch }}"
3118
coverage: false
3219
secrets: "inherit"

test/qa/Project.toml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[deps]
2+
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
3+
JET = "c3a54625-cd67-489e-a8e7-0a5a0ff4e31b"
4+
SymbolicAnalysis = "4297ee4d-0239-47d8-ba5d-195ecdf594fe"
5+
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
6+
7+
[sources]
8+
SymbolicAnalysis = {path = "../.."}
9+
10+
[compat]
11+
Aqua = "0.8"
12+
JET = "0.9,0.10,0.11"
13+
Test = "1"
14+
julia = "1.10"

test/qa/qa.jl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
using SymbolicAnalysis, Aqua, JET, Test
2+
3+
@testset "Aqua" begin
4+
Aqua.test_all(SymbolicAnalysis)
5+
end
6+
7+
@testset "JET" begin
8+
JET.test_package(SymbolicAnalysis; target_defined_modules = true)
9+
end

test/runtests.jl

Lines changed: 34 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,43 @@
1-
using SymbolicAnalysis:
2-
propagate_curvature,
3-
propagate_sign,
4-
propagate_gcurvature,
5-
getcurvature,
6-
getsign,
7-
getgcurvature
8-
91
using SafeTestsets, Test
102

11-
@testset "DCP" begin
12-
include("test.jl")
13-
end
3+
const GROUP = get(ENV, "GROUP", "All")
144

15-
@testset "DGCP - SPD Manifold" begin
16-
include("dgp.jl")
17-
end
5+
if GROUP == "All" || GROUP == "Core"
6+
using SymbolicAnalysis:
7+
propagate_curvature,
8+
propagate_sign,
9+
propagate_gcurvature,
10+
getcurvature,
11+
getsign,
12+
getgcurvature
1813

19-
@testset "DGCP - Lorentz Manifold" begin
20-
include("lorentz.jl")
21-
end
14+
@testset "DCP" begin
15+
include("test.jl")
16+
end
17+
18+
@testset "DGCP - SPD Manifold" begin
19+
include("dgp.jl")
20+
end
21+
22+
@testset "DGCP - Lorentz Manifold" begin
23+
include("lorentz.jl")
24+
end
2225

23-
@testset "Interface Compatibility" begin
24-
include("interface_tests.jl")
26+
@testset "Interface Compatibility" begin
27+
include("interface_tests.jl")
28+
end
29+
30+
# AllocCheck tests - run separately to avoid precompilation overhead
31+
# These tests verify that key operations have minimal allocations
32+
if get(ENV, "SYMBOLICANALYSIS_TEST_ALLOC", "true") == "true"
33+
@testset "Allocation Tests" begin
34+
include("alloc_tests.jl")
35+
end
36+
end
2537
end
2638

27-
# AllocCheck tests - run separately to avoid precompilation overhead
28-
# These tests verify that key operations have minimal allocations
29-
if get(ENV, "SYMBOLICANALYSIS_TEST_ALLOC", "true") == "true"
30-
@testset "Allocation Tests" begin
31-
include("alloc_tests.jl")
39+
if GROUP == "QA"
40+
@testset "Quality Assurance" begin
41+
include("qa/qa.jl")
3242
end
3343
end

test/test_groups.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[Core]
2+
versions = ["lts", "1", "pre"]
3+
4+
[QA]
5+
versions = ["lts", "1"]

0 commit comments

Comments
 (0)