You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SciMLTesting.jl is a new, lightweight package that holds the shared test-harness helpers that are currently copy-pasted into every SciML monorepo's runtests.jl. The goal of this issue is to track converting repos to depend on it instead of duplicating the boilerplate.
Light by design — [deps] = Pkg, TOML, Test only. Aqua/JET are not hard deps; run_qa takes the loaded modules as kwargs so consumers don't inherit them.
the copied _detect_sublibrary_group monorepo dispatcher
Rollout — what needs to be done
Once #157424 merges and v0.1.0 is tagged:
Add SciMLTesting to each target repo's [extras] + [targets].test (and sublib [extras]/[targets].test for monorepos).
Replace the copied boilerplate in test/runtests.jl (and lib/*/test/runtests.jl) with using SciMLTesting + the four calls.
OrdinaryDiffEq.jl first as the reference conversion, then the other 10 canonicalized monorepos (BoundaryValueDiffEq, Corleone, DataDrivenDiffEq, DiffEqProblemLibrary, LinearSolve, NeuralLyapunov, NonlinearSolve, Optimization, OptimalUncertaintyQuantification, RecursiveArrayTools), then standalone packages as convenient.
One draft PR per repo, static-verified (don't run full suites), marked ignore-until-reviewed.
Known non-goal / follow-up
The Julia-<1.11 transitive [sources] develop walk was intentionally left per-repo (it's repo-shaped). If we want it shared too, it could become an optional develop_sources!(dir) helper in a later SciMLTesting minor.
Roll out SciMLTesting.jl across SciML packages
SciMLTesting.jl is a new, lightweight package that holds the shared test-harness helpers that are currently copy-pasted into every SciML monorepo's
runtests.jl. The goal of this issue is to track converting repos to depend on it instead of duplicating the boilerplate.What it is
09d9d899-5365-40a9-917a-5f67fddea283, v0.1.0.[deps]=Pkg,TOML,Testonly. Aqua/JET are not hard deps;run_qatakes the loaded modules as kwargs so consumers don't inherit them.Exported API (replaces the copied boilerplate)
current_group(; env="GROUP", default="All")const GROUP = get(ENV, "GROUP", "All")activate_group_env(group_dir; parent=…, develop=true, instantiate=true)activate_qa_env/activate_examples_env/activate_downstream_env(parentaccepts a path or an iterable for monorepo sublibs)run_qa(pkg; Aqua=…, JET=…, aqua=true, jet=false, …)Aqua.test_all/JET.test_packageQA-group bodydetect_sublibrary_group(group, lib_dir; default_group="Core")→(sublibrary, test_group)_detect_sublibrary_groupmonorepo dispatcherRollout — what needs to be done
Once #157424 merges and v0.1.0 is tagged:
SciMLTestingto each target repo's[extras]+[targets].test(and sublib[extras]/[targets].testfor monorepos).test/runtests.jl(andlib/*/test/runtests.jl) withusing SciMLTesting+ the four calls.Known non-goal / follow-up
[sources]develop walk was intentionally left per-repo (it's repo-shaped). If we want it shared too, it could become an optionaldevelop_sources!(dir)helper in a later SciMLTesting minor.Ignore until reviewed by @ChrisRackauckas.