Decision: migrate the ReTestItems/@testitem repos to SciMLTesting (do NOT keep ReTestItems)
Decision (Chris): these repos must be migrated off ReTestItems/TestItemRunner to the SciMLTesting folder model — ReTestItems is not an accepted paradigm for SciML.
Why migrate (not keep):
- Wrong parallelism — ReTestItems' in-process worker pool is not what we want; SciML parallelizes at the CI-matrix level (one job per GROUP via
grouped-tests.yml@v1 + test_groups.toml), which is the correct model.
- Breaks on new Julia releases — ReTestItems repeatedly breaks on fresh Julia versions.
- Causes upgrade issues — it complicates dependency/version upgrades.
Repos to migrate (7): NeuralPDE.jl, CurveFit.jl (TestItemRunner), LineSearch.jl, NonlinearSolve.jl, NeuralOperators.jl, BoundaryValueDiffEq.jl, TupleLU.jl.
Migration recipe: map each @testitem "name" tags=[:G] begin … end → a file test/<G>/name.jl (tag → group folder; Core tag → top-level test/), convert @testitem blocks to plain @testset (run_tests' per-file @safetestset provides isolation), make each file self-contained (using <Pkg>, Test, …), set runtests.jl = using SciMLTesting; run_tests(), remove ReTestItems/TestItemRunner (+ Hwloc if only used for nworkers) and add SciMLTesting + SafeTestsets + Test. test_groups.toml stays the CI matrix/group source (the existing tags should already map to its group keys).
Migration is underway (one consolidated PR per repo). Supersedes the earlier draft of this issue, which incorrectly suggested accepting ReTestItems.
Decision: migrate the ReTestItems/
@testitemrepos to SciMLTesting (do NOT keep ReTestItems)Decision (Chris): these repos must be migrated off ReTestItems/TestItemRunner to the SciMLTesting folder model — ReTestItems is not an accepted paradigm for SciML.
Why migrate (not keep):
grouped-tests.yml@v1+test_groups.toml), which is the correct model.Repos to migrate (7): NeuralPDE.jl, CurveFit.jl (TestItemRunner), LineSearch.jl, NonlinearSolve.jl, NeuralOperators.jl, BoundaryValueDiffEq.jl, TupleLU.jl.
Migration recipe: map each
@testitem "name" tags=[:G] begin … end→ a filetest/<G>/name.jl(tag → group folder;Coretag → top-leveltest/), convert@testitemblocks to plain@testset(run_tests' per-file@safetestsetprovides isolation), make each file self-contained (using <Pkg>, Test, …), setruntests.jl = using SciMLTesting; run_tests(), removeReTestItems/TestItemRunner(+Hwlocif only used for nworkers) and addSciMLTesting+SafeTestsets+Test.test_groups.tomlstays the CI matrix/group source (the existing tags should already map to its group keys).Migration is underway (one consolidated PR per repo). Supersedes the earlier draft of this issue, which incorrectly suggested accepting ReTestItems.