You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Tests / Extensions (julia pre) CI job fails on master (commit bf7c4ed) on Julia 1.13.0-rc1: Mooncake v0.5.31 cannot compile a reverse-mode rule through uppercase(::Char), erroring with unexpected expr (:utf8proc_toupper,). This is an upstream Mooncake incompatibility with Julia 1.13, not a DataInterpolations regression — the same commit passes Extensions on Julia 1.10 (lts), 1.11, and 1.12.
test/mooncake_tests.jl:13, first hit in "BSpline Approximation, derivatives w.r.t. u":
BSpline Approximation, derivatives w.r.t. u: Error During Test at test/mooncake_tests.jl:13
Got exception outside of a @test
Mooncake failed to differentiate the following method:
│ uppercase(c::T) where T<:AbstractChar
│
│ Caused by:
│ unexpected expr (:utf8proc_toupper,)
│
│ MooncakeRuleCompilationError: ...
└ @ Base.Unicode strings/unicode.jl:329
...
ERROR: LoadError: Some tests did not pass: 13177 passed, 0 failed, 1 errored, 0 broken.
Local reproduction (2026-06-12)
Full test group, fresh clone of master, Julia 1.13.0-rc1:
GROUP=Extensions julia +1.13.0-rc1 --project=. -e 'using Pkg; Pkg.test()'
→ 13177 passed, 0 failed, 1 errored — exact same error as CI.
Minimal repro, independent of DataInterpolations (Julia 1.13.0-rc1, Mooncake v0.5.31 in a clean env):
Mooncake v0.5.31 (latest release) does not support Julia 1.13; its IR pass does not handle the foreigncall form Julia 1.13 produces for uppercase (:utf8proc_toupper).
Mooncake's declared compat is julia = "~1.10.8, 1.11.6, 1.12.1", whose caret entries admit 1.13.x, so the resolver installs it on 1.13-rc1 anyway.
error: could not lock config file /home/chrisrackauckas/.gitconfig: File exists
i.e. a git config --global lock collision between concurrent runner instances (demeter4-6 / demeter4-10) sharing one home directory on the self-hosted machine demeter4. The remaining 2h5m "failures" in that run were post-job cache-upload hangs/auth errors on the same machine. The next day's scheduled run on GitHub-hosted runners passed everything except the Mooncake/1.13 job above. Both groups also pass locally (QA on 1.10.11: 18/18; Methods on 1.13.0-rc1: 41385/41385).
Expected resolution
This should resolve itself once Mooncake gains Julia 1.13 support (chalk-lab/Mooncake.jl#856) or caps its julia compat below 1.13. Tracking issue so the red Extensions (julia pre) job on master is documented; no DataInterpolations code change is proposed (the test itself is valid and passes on all supported released Julia versions).
Found during a master-CI investigation by a Claude agent on behalf of @ChrisRackauckas.
Summary
The
Tests / Extensions (julia pre)CI job fails on master (commit bf7c4ed) on Julia 1.13.0-rc1: Mooncake v0.5.31 cannot compile a reverse-mode rule throughuppercase(::Char), erroring withunexpected expr (:utf8proc_toupper,). This is an upstream Mooncake incompatibility with Julia 1.13, not a DataInterpolations regression — the same commit passes Extensions on Julia 1.10 (lts), 1.11, and 1.12.Seen in the scheduled run https://github.com/SciML/DataInterpolations.jl/actions/runs/27210894947 (job
tests / Extensions (julia pre, ubuntu-latest)), and reproduced locally.Failing test
test/mooncake_tests.jl:13, first hit in"BSpline Approximation, derivatives w.r.t. u":Local reproduction (2026-06-12)
Full test group, fresh clone of master, Julia 1.13.0-rc1:
→
13177 passed, 0 failed, 1 errored— exact same error as CI.Minimal repro, independent of DataInterpolations (Julia 1.13.0-rc1, Mooncake v0.5.31 in a clean env):
Root cause
uppercase(:utf8proc_toupper).julia = "~1.10.8, 1.11.6, 1.12.1", whose caret entries admit 1.13.x, so the resolver installs it on 1.13-rc1 anyway.Non-issue: the 2026-06-08 push run failures
For the record, the failures in the push run https://github.com/SciML/DataInterpolations.jl/actions/runs/27149052616 on the same commit (
QA (julia lts)andMethods (julia pre)) were NOT test failures: in both jobs the test step passed and only the codecov-action step failed withi.e. a
git config --globallock collision between concurrent runner instances (demeter4-6 / demeter4-10) sharing one home directory on the self-hosted machinedemeter4. The remaining 2h5m "failures" in that run were post-job cache-upload hangs/auth errors on the same machine. The next day's scheduled run on GitHub-hosted runners passed everything except the Mooncake/1.13 job above. Both groups also pass locally (QA on 1.10.11: 18/18; Methods on 1.13.0-rc1: 41385/41385).Expected resolution
This should resolve itself once Mooncake gains Julia 1.13 support (chalk-lab/Mooncake.jl#856) or caps its julia compat below 1.13. Tracking issue so the red
Extensions (julia pre)job on master is documented; no DataInterpolations code change is proposed (the test itself is valid and passes on all supported released Julia versions).Found during a master-CI investigation by a Claude agent on behalf of @ChrisRackauckas.