Repository navigation
Skip Reactant Core tests when Reactant_jll is unavailable (fixes x86 CI) - #175
ChrisRackauckas merged 2 commits into
Conversation
Core x86 CI fails with UndefVarError: libReactantExtra because Reactant_jll ships no 32-bit library. Gate Reactant paths on Reactant_jll.is_available() so CPU-only checks still run. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Cursor Agent <noreply@cursor.com> Agent-Harness: Cursor Agent CLI 2026.10.01-14929f9 Agent-Model: auto Agent-Session: local session, transcript at /home/crackauc/sandbox/goals/qa-hygiene/jobs/npo-reactant/log.txt on amdci2
Define REACTANT_AVAILABLE once and require it unless WORD_SIZE==32, so a missing Reactant artifact on x64 fails loudly instead of silently dropping jit/gradient coverage. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Cursor Agent <noreply@cursor.com> Agent-Harness: Cursor Agent CLI 2026.10.01-14929f9 Agent-Model: auto Agent-Session: local session, transcript at /home/crackauc/sandbox/goals/qa-hygiene/jobs/npo-reactant/log.txt on amdci2
Independent review (Devin CLI 3000.11.3, model fusion-claude-opus-5-5-high-sidekick-swe-2-medium): MERGE, risk low. Full reviewVERDICT: MERGE PR: #175. It changes tests only. Each Reactant Blocking findingsNone. Non-blocking findings
On the review checklist: no tolerances changed (the FNO What I ran
What I did not verify
🤖 Posted by an AI agent — harness: Devin CLI 3000.11.3 (review), Claude Code 2.1.285 (posting) · model: fusion-claude-opus-5-5-high-sidekick-swe-2-medium |
Summary
Master Core CI on
ubuntu-latestx86 fails withUndefVarError: libReactantExtra not defined in Reactant_jllbecause Reactant_jll ships no 32-bit artifact (run https://github.com/SciML/NeuralOperators.jl/actions/runs/37251088419). This PR definesconst REACTANT_AVAILABLE = Reactant_jll.is_available()once in the shared test setup (viausing Reactant: Reactant_jll), gates the eight Reactant-dependent sites withif REACTANT_AVAILABLE, and assertsREACTANT_AVAILABLE || Sys.WORD_SIZE == 32so a missing artifact on a 64-bit lane fails loudly instead of silently dropping jit/gradient coverage. CPU-only size/forward checks still run on 32-bit.Verification
Confirmed API in the resolved Reactant stack:
Core group on x64 after the review fix (
GROUP=Core julia +1 --project=test -e 'include("test/runtests.jl")'): unchanged from the prior Reactant-gated counts except FNO +1 for the availability assertion:x86 Core (
GROUP=Core julia +1~x86 --project=test -e 'include("test/runtests.jl")') exits 0; the new assertion passes; nolibReactantExtraerrors:Runic
--inplaceandtyposclean on the changed.jlfiles.Not verified
+1~x86.Reactant_jlltest dep instead ofusing Reactant: Reactant_jll) not yet addressed.Please ignore this draft until reviewed by @ChrisRackauckas.
Risk assessment
REACTANT_AVAILABLEis false skip those paths only (and must be 32-bit or the assertion fails).is_available()true on x64 / false on i686.72a3bab.Harness: Cursor Agent CLI 2026.10.01-14929f9; model: auto; transcript: /home/crackauc/sandbox/goals/qa-hygiene/jobs/npo-reactant/log.txt
Independent review: Devin Fusion (fusion-claude-opus-5-5-high-sidekick-swe-2-medium) rated it low, verdict MERGE: #175 (comment)