Skip to content

Lock SciCompDSL downgrade tests to in-repo sources#4808

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:agent/scicompdsl-lock-inrepo-runtime-graph
Jul 22, 2026
Merged

Lock SciCompDSL downgrade tests to in-repo sources#4808
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:agent/scicompdsl-lock-inrepo-runtime-graph

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Ignore this PR until it has been reviewed by @ChrisRackauckas.

Summary

  • declare the in-repository ModelingToolkit and ModelingToolkitBase checkouts as SciCompDSL test sources
  • record the jointly compatible test dependency floors needed by those local sources
  • preserve the downgrade manifest when the test harness develops the two local packages

Without Pkg.PRESERVE_ALL, the test setup can silently replace the graph chosen by the downgrade job. In the control run, it upgraded ModelingToolkitBase 1.0 to 1.54, OrdinaryDiffEqTsit5 1.0 to 2.1, and SciMLBase 2.146 to 3.36 before running the tests.

With the source-aware graph, the resolved package floors remain unchanged across the controlled Pkg.develop step. Path entries and Julia-runtime stdlib/JLL patch metadata may be normalized, but the tested package graph is no longer silently upgraded.

Prerequisites

This is one focused repository-side part of the downgrade fix and depends on:

The shared workflow also needs to save the original Project.toml before the downgrade action mutates it; otherwise its current restore step preserves the action-mutated project rather than the checkout copy. That workflow follow-up is intentionally not included here.

Local validation

Using Julia 1.10.11, pinned General ebea3c922b48a58438335288df661a3b4b2f85ae, and the exact prerequisite heads above:

  • source-aware downgrade action — passed
  • locked precompile before local development — passed
  • Pkg.develop([MTKBasePkgSpec, MTKPkgSpec]; preserve = Pkg.PRESERVE_ALL) — passed, with key package versions preserved
  • exact julia-runtest@v1 invocation with ALLOW_RERESOLVE=false — passed:
    • Model parsing - MTKBase: 200 passed, 1 existing broken
    • Model parsing - MTK: 205 passed
  • repository-wide Runic 1.7 check — passed
  • git diff --check — passed
  • SciCompDSL Project.toml parse on Julia 1.10.11 — passed

No test was skipped, silenced, or loosened.

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

Copy link
Copy Markdown
Member Author

Terminal CI classification for exact head c203d16baac2c93bf88b04754fb498255b18f0f9 and its exact parent df88a05f735e8ef8efc1b210e74382e6e539cc66:

  • All 69 checks are terminal: 57 succeeded, 9 failed, and 3 were skipped. Root Downgrade Tests - InterfaceI passed, as did the ordinary SciCompDSL test lanes on Julia LTS/current/prerelease.
  • The two Catalyst failures reproduce on the exact parent push. The release-test pair is UndefKeywordError: keyword argument parent_sys not assigned, 20 pass / 1 error, on this branch and the exact parent. The integration pair is the same seven Conservation Laws unexpected passes, 242 pass / 7 errors / 17 existing broken, on this branch and the exact parent. These clean-base Catalyst failures are independently addressed by Catalyst Bump to see formatter? #1511/Add formatter #1512.
  • The ModelingToolkitStandardLibrary failure is likewise identical: ArgumentError: Symbol so₊u(t) is not present, 13 pass / 1 error, on this branch and the exact parent. MTSL CompatHelper: add new compat entry for "LabelledArrays" at version "1.2" #491 independently fixes that clean-base test.
  • The ModelingToolkitBase downgrade job did not report a test result; GitHub says its self-hosted runner lost communication. The exact parent downgrade job was already red independently at 7203 pass / 14 fail / 21 errors / 4 existing broken. A separate clean-base reproduce/bisect investigation is in progress as required; this PR does not change ModelingToolkitBase.
  • The SciCompDSL downgrade job used released julia-downgrade-compat@v2 commit fab1defb76df9fd672f63c94df73ce131d32e134, selected Setfield 1.1.1 and NonlinearSolveBase 1.14.0, then hit the known recursive path/test-sandbox resolver conflict. This PR explicitly depends on julia-downgrade-compat #56 and SciML/.github #119. With their exact tested heads, the local Julia 1.10 locked graph passed 200 tests with one existing broken test, then 205 tests, without changing the manifest; Runic, TOML parsing, and git diff --check also passed. Thus this hosted failure confirms the declared unmerged prerequisite rather than a different floor to add here.
  • All three Optimization jobs stop in the same fluctuating dynamic_optimization.jl assertion cluster as all three jobs in the exact parent push. A required independent clean-base reproduce/bisect investigation is in progress; the SciCompDSL-only diff cannot affect that suite.
  • The QA job and the exact-parent QA job both ended with the same self-hosted-runner communication-loss annotation and no test failure.

All nine failures are therefore accounted for by exact-parent behavior, runner infrastructure, or the two prerequisites already declared in this PR. No additional change to the focused SciCompDSL floor/path-source patch is indicated by this run.

@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review July 22, 2026 20:38
@ChrisRackauckas
ChrisRackauckas merged commit d28894b into SciML:master Jul 22, 2026
60 of 69 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