Skip to content

Fix downgrade sublibrary bounds#1252

Draft
ChrisRackauckas-Claude wants to merge 3 commits into
SciML:masterfrom
ChrisRackauckas-Claude:agent/fix-downgrade-sublibraries
Draft

Fix downgrade sublibrary bounds#1252
ChrisRackauckas-Claude wants to merge 3 commits into
SciML:masterfrom
ChrisRackauckas-Claude:agent/fix-downgrade-sublibraries

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

This PR should be ignored until reviewed by @ChrisRackauckas.

Summary

  • add missing downgrade resolver floors for affected sublibraries
  • move OptimizationQuadDIRECT to a custom downgrade job that restores URL-sourced packages after downgrade-compat
  • raise PythonCall floor for OptimizationSciPy downgrade testing

Local verification

Downgrade worker ran Julia 1.10 downgrade/test cycles locally with allow_reresolve=false and observed:

  • OptimizationBBO: Core | 25 pass / 25 total
  • OptimizationNOMAD: Core | 4 pass / 4 total
  • SimpleOptimization: Core | 7 pass / 7 total
  • OptimizationEvolutionary: Core | 32 pass / 32 total
  • OptimizationNLPModels: Core | 10 pass / 10 total
  • OptimizationSciPy: Core | 160 pass, 1 broken / 161 total
  • OptimizationQuadDIRECT: Core | 1 pass / 1 total after the URL-source repair step

I also reran after rebasing onto 08023d357:

git diff --check origin/master..HEAD
# no output

ruby -e 'require "yaml"; YAML.load_file(".github/workflows/DowngradeSublibraries.yml"); puts "yaml ok"'\nyaml ok\n\nJULIA_DEPOT_PATH="$PWD/.julia_depot_runic" TMPDIR="$PWD/.tmp" timeout 3600 /home/crackauc/.juliaup/bin/julia +1.12 --startup-file=no -e 'import Pkg; Pkg.activate(".tmp/runic_env"); Pkg.add("Runic"); using Runic; exit(Runic.main(["--check", ".github", "docs", "src", "test", "lib"]))'\n# exit code 0\n```

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor Author

Follow-up pushed in b9b48c878.

Local checks run before pushing:

  • OptimizationMadNLP Core on Julia 1.10 with SciMLBase v2.146.0 lower-bound scratch env: Core | 97 pass, 1 broken, 98 total in 14m25s; Pkg.test("OptimizationMadNLP"; coverage=false, allow_reresolve=false) exited 0.
  • SimpleOptimization Core with exact SimpleNonlinearSolve v2.12.0: Core | 7 pass, 7 total; exited 0.
  • git diff --check: passed.
  • .github/workflows/DowngradeSublibraries.yml YAML parse: passed.
  • Runic check on changed Julia files: passed.

Scope note: this PR is based directly on master and no longer carries the OptimizationEvolutionary multi-objective test fixes. Those are in #1250. I locally tested re-adding only the Evolutionary downgrade compat here, but OptimizationEvolutionary Core still fails on the same multi-objective assertions without #1250, so I left #1252 scoped to the non-Evolutionary downgrade follow-ups rather than duplicating #1250.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor Author

Follow-up pushed in 9d21667d0.

Additional CI-equivalent local checks run in scratch clones after applying the patch and running julia-actions/julia-downgrade-compat@v2 with the skip lists from the failing jobs:

  • lib/OptimizationMadNLP: downgrade rewrite succeeded; Pkg.test(; coverage=true, julia_args=["--check-bounds=yes", "--compiled-modules=yes", "--depwarn=yes"], force_latest_compatible_version=false, allow_reresolve=false) passed with Core | 97 pass, 1 broken, 98 total in 15m06s.
  • lib/OptimizationSciPy: downgrade rewrite succeeded with PythonCall v0.9.30; the same CI-equivalent Pkg.test passed with Core | 160 pass, 1 broken, 161 total in 1m21s.
  • Separate probe: PythonCall v0.9.30 with SciMLBase v2.122.1 precompiled SciMLBasePythonCallExt successfully; PythonCall v0.9.29 is the version that failed in CI.

The remaining OptimizationEvolutionary failures on this branch are still expected until #1250 is included/merged, since the multi-objective test fixes live there rather than being duplicated here.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor Author

CI follow-up on 9d21667d0: the fresh GitHub run now has the targeted downgrade fixes green:

  • downgrade-sublibraries / test (lib/OptimizationMadNLP): success
  • downgrade-sublibraries / test (lib/OptimizationSciPy): success
  • downgrade-sublibraries / test (lib/SimpleOptimization): success
  • non-downgrade MadNLP/SciPy/SimpleOptimization sublibrary jobs observed so far are also green

Remaining failures are outside this PR commit:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants