Skip to content

Use the shared downstream workflow on Julia 1 - #4323

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:ci/use-shared-downstream
Aug 24, 2026
Merged

Use the shared downstream workflow on Julia 1#4323
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:ci/use-shared-downstream

Conversation

@ChrisRackauckas-Claude

@ChrisRackauckas-Claude ChrisRackauckas-Claude commented Aug 20, 2026

Copy link
Copy Markdown
Member

What changed

Use SciML's shared downstream workflow on the current Julia 1 release and develop both the OrdinaryDiffEq root project and every immediate lib/* project. This replaces the repository-specific Julia 1.10 runner, whose resolver now fails before ProbNumDiffEq's tests start.

The reusable workflow is pinned to the merge commit from SciML/.github#128 because the moving v1 tag has not yet been released with upstream-subdirs glob support.

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

Regression evidence

Before, the downstream job's Julia 1.10 environment failed during resolution, before running ProbNumDiffEq tests:

[ Warning: julia version requirement for project not satisfied
ERROR: Unsatisfiable requirements detected for package JET [c3a54625]
...
caused by: Unsatisfiable requirements detected for package PrecompileTools [aea7be01]

After switching the same downstream package to Julia 1.12.7 and developing . plus all lib/* projects, I ran the complete downstream test command:

ProbNumDiffEq | Pass 780  Broken 28  Total 808  50m49.4s
Testing ProbNumDiffEq tests passed

Verification

GROUP=QA julia +1 --project -e 'using Pkg; Pkg.test()'
Quality Assurance Tests | Pass 92  Total 92
Testing OrdinaryDiffEq tests passed

actionlint .github/workflows/Downstream.yml
typos .github/workflows/Downstream.yml
git diff --check
# all exited 0

I did not run the other eleven downstream repositories locally; the workflow matrix will exercise them. This workflow-only change does not touch docs, public API, or GPU code.

Supersedes the repository-local approach in #4320.

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

Copy link
Copy Markdown
Member Author

The first complete execution of the shared workflow expanded successfully and produced 128 completed checks. For the external downstream matrix, all ModelingToolkit groups, DiffEqCallbacks, and SciMLSensitivity Core1–Core5 passed on Julia 1.12. The two red downstream jobs are independent test failures rather than workflow/resolver failures:

  • PositiveIntegrators is the existing failure covered by Bump the all-julia-dependencies group across 3 directories with 1 update NumericalMathematics/PositiveIntegrators.jl#216.
  • ProbNumDiffEq reached its tests and failed one unseeded Dalton/filtering likelihood comparison by 1.20e-6 relative error at an rtol=1e-6 boundary. The exact same versions passed locally (780 pass/28 broken). A 1,000-seed audit reproduced one failure only for the randomly generated, arbitrarily ill-conditioned dense covariance; replacing that test input with a fixed representative non-diagonal positive-definite covariance passed 1,000/1,000 without changing the tolerance or seeding the test.

Representative shared-workflow run: https://github.com/SciML/OrdinaryDiffEq.jl/actions/runs/32396885075

@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review August 24, 2026 19:44
@ChrisRackauckas
ChrisRackauckas merged commit 3fe398a into SciML:master Aug 24, 2026
109 of 128 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