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
Uniformize monorepo structure to OrdinaryDiffEq.jl canonical style
Convert the BoundaryValueDiffEq.jl monorepo to the canonical OrdinaryDiffEq.jl
structure: SafeTestsets/@safetestset group-dispatched tests, project-model
sublibrary CI, no ReTestItems and no test/Project.toml.
Tests (ReTestItems -> SafeTestsets):
- Rewrite every @testitem/@testsetup test file (root test/misc, test/wrappers,
and all 6 lib/* sublibs) into plain @safetestset-includable test files
(@testsetup module bodies hoisted to file top level; @testitem -> @testset;
per-file `using <Package>`).
- Rewrite all 6 sublib test/runtests.jl to read BOUNDARYVALUEDIFFEQ_TEST_GROUP
and @safetestset-include per group (Core/QA; FIRK uses EXPANDED/NESTED/QA).
- Rewrite root test/runtests.jl as a _detect_sublibrary_group dispatcher
(activate lib/<X>, develop its [sources], set the sub group env, Pkg.test it;
otherwise run the root's own Misc/Wrappers/QA @safetestset groups).
- Fold test/qa into the QA group: test/qa/runtests.jl -> test/qa/qa_tests.jl,
delete test/qa/Project.toml.
Project.toml:
- Drop ReTestItems (and the now-unused Hwloc) from deps/extras/compat/targets
across root + 6 sublibs; add SafeTestsets. Add JET to the root [extras]/
[targets].test (folded from the deleted test/qa/Project.toml).
- Preserve the true [sources] path graph (leaf sublibs -> Core; root -> all 6).
Workflows:
- SublibraryCI.yml: sublibrary-project-tests.yml@v1 with
group-env-name: BOUNDARYVALUEDIFFEQ_TEST_GROUP, check-bounds: auto.
- DowngradeSublibraries.yml: sublibrary-downgrade.yml@v1 with
group-env-name/group-env-value Core, sibling+stdlib skip list, auto-discovery.
- CI.yml: new group-dispatched root CI (Misc/Wrappers/QA only — no sublib rows;
sublibs are covered by SublibraryCI), replacing CI_BoundaryValueDiffEq.yml.
- Downgrade.yml: downgrade.yml@v1 with group: Misc and sibling+stdlib skip list.
- Delete QA.yml (folded into the root CI QA group).
test_groups.toml:
- Add lib/BoundaryValueDiffEqFIRK/test/test_groups.toml declaring its real
EXPANDED/NESTED/QA groups (the default Core/QA discovery does not match FIRK).
No [compat] floors lowered; no tests skipped/broken/loosened.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments