Skip to content

Comments

Fix CI: skip AMG preconditioner tests on Julia 1.10, fix Runic formatting#3045

Merged
ChrisRackauckas merged 2 commits intoSciML:masterfrom
ChrisRackauckas-Claude:fix-ci-preconditioner-lapack-and-formatting
Feb 12, 2026
Merged

Fix CI: skip AMG preconditioner tests on Julia 1.10, fix Runic formatting#3045
ChrisRackauckas merged 2 commits intoSciML:masterfrom
ChrisRackauckas-Claude:fix-ci-preconditioner-lapack-and-formatting

Conversation

@ChrisRackauckas-Claude
Copy link
Contributor

Summary

Fixes two CI failures on master:

  1. test (ModelingToolkit, lts) failure: AlgebraicMultigrid.ruge_stuben triggers a LAPACK gesdd! "invalid argument Native Adams-Bashforth-Moulton methods #4" error on Julia 1.10 when computing pseudoinverse (Pinv) during AMG coarsening. This is an upstream bug in LAPACK/Julia 1.10, not in OrdinaryDiffEq. The fix gates AMG preconditioner tests behind VERSION >= v"1.11-" — the non-AMG preconditioner tests (ILU) still run on all Julia versions.

  2. format-check failure: Runic requires 1.0e-3 instead of 1e-3 in test/regression/psos_and_energy_conservation.jl.

Test plan

  • Verified preconditioner test passes on Julia 1.10 (18/18 tests pass, AMG tests skipped)
  • Verified preconditioner test passes on Julia 1.11 (42/42 tests pass, AMG tests included)
  • Verified Runic formatting passes on both modified files
  • Verified full repo passes runic --check .
  • CI should pass on all Julia versions (lts, 1.11, 1, pre)

🤖 Generated with Claude Code

ChrisRackauckas and others added 2 commits February 11, 2026 22:57
…matting

AlgebraicMultigrid.ruge_stuben triggers a LAPACK gesdd! bug on Julia 1.10
when computing pseudoinverse during AMG coarsening. Gate AMG preconditioner
tests behind VERSION >= v"1.11-" to avoid the upstream LAPACK error.

Also fix Runic formatting: 1e-3 -> 1.0e-3 in psos_and_energy_conservation.jl.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove AlgebraicMultigrid preconditioner tests entirely from preconditioners.jl.
AMG triggers a LAPACK gesdd! bug on Julia 1.10 when computing pseudoinverse
during coarsening. The ILU preconditioner tests remain and cover the
preconditioner interface adequately.

Also fix Runic formatting:
- 1e-3 -> 1.0e-3 in psos_and_energy_conservation.jl
- Add missing return keywords in BS5, Vern6-9, RKV76IIa Bool->Val converters

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@ChrisRackauckas-Claude
Copy link
Contributor Author

Updated approach: Removed AMG preconditioner tests entirely per review feedback, rather than gating them behind a version check.

Also fixed additional Runic formatting issues discovered in CI:

  • Missing return keywords in lib/OrdinaryDiffEqLowOrderRK/src/algorithms.jl (BS5)
  • Missing return keywords in lib/OrdinaryDiffEqVerner/src/algorithms.jl (Vern6-9, RKV76IIa)

These are the Bool-to-Val backwards compatibility converter functions added in PR #3044.

@ChrisRackauckas-Claude
Copy link
Contributor Author

CI Status Summary:

  • runic (format-check): ✅ Pass
  • CI tests: 269 pass, 2 fail, 1 pending
    • test (Integrators_I, pre) and test (InterfaceV, pre): Both fail with Permission denied errors on the deepsea4-7 self-hosted runner — infrastructure issue, not related to this PR
    • ModelingToolkit.jl/InterfaceII/1.10: Still pending (appears stuck, likely a runner queue issue)
  • All actual test code changes verified locally: preconditioner test passes on Julia 1.10 (18/18) and 1.11 (42/42 with old code; 18/18 without AMG)

The two failures need a re-run to confirm they're just infra flakes.

@ChrisRackauckas ChrisRackauckas merged commit 4004fc7 into SciML:master Feb 12, 2026
273 of 275 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