Skip to content

QA: allow JET 0.11 so QA runs on Julia 1.12#26

Merged
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:qa-jet-0.11-julia-1.12
Jun 16, 2026
Merged

QA: allow JET 0.11 so QA runs on Julia 1.12#26
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:qa-jet-0.11-julia-1.12

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Collaborator

Problem

The tests / QA (julia 1, ubuntu-latest) check on main is red. On Julia 1.12.6 the QA sub-env (test/qa/Project.toml) pins JET = "0.9, 0.10", so the resolver selects JET v0.10.14, which fails to precompile:

ERROR: LoadError: MethodError: no method matching add_active_gotos!(::BitVector, ::Core.CodeInfo, ::Compiler.CFG, ::Compiler.GenericDomTree{true})
  add_active_gotos!(::Any, ::Core.CodeInfo, ::Compiler.CFG, ::Any, ::LoweredCodeUtils.SelectiveEvalController)

This is a JET 0.10.x / LoweredCodeUtils signature mismatch against the Julia 1.12 compiler internals. JET 0.11 is the line that supports Julia 1.12.

Fix

Widen the QA sub-env compat to JET = "0.9, 0.10, 0.11". The resolver then picks a JET that works for each Julia in the QA matrix:

  • Julia 1.12 ("1") → JET 0.11.4
  • Julia 1.10 ("lts") → JET 0.9.18 (JET 0.11 requires julia ≥ 1.12)

No test was skipped, disabled, or loosened.

Local verification

Reproduced and verified with julia +1.12 / julia +1.10 on the QA sub-env.

Before (current 0.9, 0.10), Julia 1.12.6:

JET resolved to: 0.10.14
Failed to precompile JET ... MethodError: no method matching add_active_gotos!(...)

After (0.9, 0.10, 0.11):

# Julia 1.12.6
JET resolved to: 0.11.4
Test Summary:       | Pass  Total  Time
JET Static Analysis |   12     12  4.3s

# Julia 1.10.11 (LTS)
JET resolved to: 0.9.18
Test Summary:       | Pass  Total  Time
JET Static Analysis |   12     12  4.0s

Note

This PR fixes the QA check only. The Documentation build is also red, but for an unrelated, genuine doc-content reason: the docs/src/neural_ode_training.md example does using DiffEqFlux and using DataCollocations, both of which export collocate_data, so the unqualified call hits UndefVarError: collocate_data not defined (binding ambiguity). That is a separate doc fix (qualify the name) and is intentionally not bundled here.

Please ignore until reviewed by @ChrisRackauckas.

The QA group runs on `["lts", "1"]`. On Julia 1.12 the sub-env compat
`JET = "0.9, 0.10"` forces JET v0.10.x, which fails to precompile with
`MethodError: no method matching add_active_gotos!(::BitVector,
::Core.CodeInfo, ::Compiler.CFG, ::Compiler.GenericDomTree{true})` due to
a LoweredCodeUtils signature mismatch against the 1.12 compiler internals.
JET 0.11 is the line that supports Julia 1.12. Widening the compat to
`0.9, 0.10, 0.11` lets the resolver pick a working JET per Julia version
(0.11.x on 1.12, 0.9.x on the 1.10 LTS).

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 16, 2026 08:57
@ChrisRackauckas ChrisRackauckas merged commit b64a36d into SciML:main Jun 16, 2026
16 of 17 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