Skip to content

Allow current SciML dependency stack in tests - #329

Merged
ChrisRackauckas merged 3 commits into
SciML:masterfrom
ChrisRackauckas-Claude:agent/allow-forwarddiff-1-tests
Jul 28, 2026
Merged

ChrisRackauckas merged 3 commits into
SciML:masterfrom
ChrisRackauckas-Claude:agent/allow-forwarddiff-1-tests

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Please ignore this draft until it has been reviewed by @ChrisRackauckas.

Summary

Why

NonlinearSolve's DiffEqCallbacks downstream job failed before loading any changed NonlinearSolve code. Pkg.test() re-resolved DiffEqCallbacks' extras and found an empty intersection between developed NonlinearSolve's ForwardDiff-1-only requirement and DiffEqCallbacks' ForwardDiff-0.10-only test compat.

Fixing that first wall exposed two current-master compatibility issues behind it:

  1. NonlinearSolve's SciMLBase 3.37 floor selects FindFirstFunctions 3, which requires DataInterpolations 9 rather than the test environment's previous 5–8 range.
  2. SciMLBase 3 calls the public ensemble hook as prob_func(prob, ctx), while the existing regression test only accepted the SciMLBase 2 three-argument signature. The compatibility helper preserves distinct trajectory initial values using either the old integer index or public ctx.sim_id.

These are test-environment compatibility changes; package runtime dependencies are unchanged.

Investigation

  • Inspected NonlinearSolve downstream job 90053534882.
  • Reproduced its ForwardDiff resolver failure locally against clean NonlinearSolve upstream/master 1d51c8dac (v4.23.2), proving it is independent of PR #1100's code.
  • Traced the ForwardDiff boundary to NonlinearSolve commit 9f60b2e29 (2025-12-27), which dropped root ForwardDiff 0.10 support; DiffEqCallbacks' 0.10-only test compat dates to c83fe3ed (2024).
  • Replayed the downstream workflow after each wall, then fixed the newly visible DataInterpolations/FindFirstFunctions resolver boundary and SciMLBase v3 ensemble-hook test error.

Local validation

Julia 1.12.6:

  • Exact downstream replay with clean NonlinearSolve master: passed (Testing DiffEqCallbacks tests passed).
  • GROUP=Core: passed, including periodic tests 85/85 and saving tests 112/112.
  • GROUP=AD: passed under ForwardDiff 1.4.2 (6/6, 16/16, and 1/1).
  • GROUP=QA: passed (JET 15/15 and QA 21/21).
  • Repository-wide Runic --check: exit 0.
  • git diff --check: exit 0.

No test was skipped, silenced, weakened, or loosened.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review July 28, 2026 07:49
@ChrisRackauckas
ChrisRackauckas merged commit 92b85b9 into SciML:master Jul 28, 2026
18 checks passed
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