Drop Optimization QA source paths#1264
Conversation
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
|
Merged current Local validation after the merge:
GitHub has refreshed the PR from |
|
The remaining red check here is downstream ModelingToolkit, not the Optimization QA/source-path cleanup itself. The failing job is All Optimization root/sublibrary/QA/downgrade/docs/Runic checks are green. I opened the focused MTK-side compat fix here: Local validation for that PR developed this Optimization branch into MTK and ran: It resolved |
…iffEq pattern)
Replace the hand-maintained per-package `Pkg.develop` lists in each sublib's
`test/runtests.jl` with `SciMLTesting.activate_group_env`, and pin in-repo
siblings declaratively via each QA env's `[sources]` table — matching how
OrdinaryDiffEq.jl drives its monorepo QA envs.
Per sublib:
- test/qa/Project.toml: add the transitive in-repo runtime sibling closure to
[deps], [sources], and [compat]. The package under test is developed via
activate_group_env's `parent` and is deliberately NOT listed in [sources].
- test/runtests.jl: `using SciMLTesting`; activate_qa_env delegates to
activate_group_env(joinpath(@__DIR__, "qa")).
- Project.toml: add SciMLTesting to [extras] + [targets].test + [compat].
Why not the package-under-test in [sources]: a self-referencing `Pkg = {path=".."}`
entry makes Aqua's persistent_tasks check hard-error on Julia >= 1.11
(`AssertionError: tree_hash !== nothing && path !== nothing` in Pkg destructure).
Listing only siblings avoids it; every [sources] entry also needs a matching
[deps]/[extras] entry on >= 1.11, hence siblings in [deps] too.
Closures are runtime-only, dropping the test-only siblings the previous approach
developed (Auglag->Optimisers, NLPModels->LBFGSB/MOI/OptimJL, Multistart->NLopt),
which were the SciML#1228 phantom-dep risk.
Verified locally (QA group, Runic-clean): OptimizationBBO, OptimizationMOI,
OptimizationMadNLP, OptimizationPolyalgorithms on Julia 1.12 (native [sources]);
OptimizationBBO, OptimizationPolyalgorithms on 1.10 (develop_sources! backport).
All pass with persistent_tasks succeeding.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JQ6iGqAH2j1uio2tEVNX3L
Ignore this PR until reviewed by @ChrisRackauckas.
Summary
[sources]path entries from Optimization subpackage QA environments.OptimizationBase-owned names out of theOptimizationMOIandOptimizationNLoptpublic API docs checks.Validation
git diff --check HEAD~1..HEADrg -n '^\[sources\]|path\s*=' lib/*/test/qa/Project.toml lib/SimpleOptimization/test/qa/Project.toml test/qa/Project.toml || truetimeout 3600 /home/crackauc/.juliaup/bin/julia +release --startup-file=no -e 'using Pkg; Pkg.activate(; temp=true); Pkg.add("Runic"); using Runic; exit(Runic.main(ARGS))' -- --check $(git diff --name-only origin/master..HEAD -- '*.jl')timeout 3600 env OPTIMIZATION_TEST_GROUP=QA JULIA_PKG_PRECOMPILE_AUTO=0 /home/crackauc/.juliaup/bin/julia +release --startup-file=no --project=lib/OptimizationOptimJL -e 'using Pkg; Pkg.test()'passed withQuality Assurance | 18 pass, 1 broken.