Skip to content

Bump the all-julia-dependencies group across 2 directories with 2 updates#411

Merged
ranocha merged 10 commits intomainfrom
dependabot/julia/docs/all-julia-dependencies-322f8350f6
May 1, 2026
Merged

Bump the all-julia-dependencies group across 2 directories with 2 updates#411
ranocha merged 10 commits intomainfrom
dependabot/julia/docs/all-julia-dependencies-322f8350f6

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Apr 27, 2026

Updates the requirements on OrdinaryDiffEq and OrdinaryDiffEqSSPRK to permit the latest version.
Updates OrdinaryDiffEq to 7.0.0

Release notes

Sourced from OrdinaryDiffEq's releases.

v7.0.0

OrdinaryDiffEq v7.0.0

Diff since v6.211.0

Many breaking changes. The complete migration story is detailed in https://github.com/SciML/OrdinaryDiffEq.jl/blob/master/NEWS.md

Merged pull requests:

... (truncated)

Changelog

Sourced from OrdinaryDiffEq's changelog.

OrdinaryDiffEq.jl v7 Breaking Changes

This release bumps to SciMLBase v3, RecursiveArrayTools v4, and includes breaking changes across DiffEqBase, OrdinaryDiffEqCore, and all solver sublibraries.

Themes of the v7 release

Most of the breaking changes fall into a small set of recurring themes. Keep these in mind while reading the migration table — they explain why an individual change exists and often suggest the right migration direction:

  • Time to first solve (TTFS) reduction. Direct deps on Static.jl, StaticArrayInterface.jl, Polyester.jl, and StaticArrays.jl were dropped; using OrdinaryDiffEq now loads only the default solver set; ODEFunction switched to AutoSpecialize. All of this means less code loaded and more precompilation caching on first solve.
  • Type stability everywhere. All Bool solver/solve keyword arguments (autodiff, verbose, alias, lazy, …) were replaced by typed objects. Passing a Bool no longer changes dispatch in ways the compiler cannot specialize on, and the reverse is no longer allowed to silently fall back through slow generic paths.
  • Generality beyond ForwardDiff. chunk_size, diff_type, standardtag, etc. encoded ForwardDiff-specific or FiniteDiff-specific knobs on every solver. They are replaced by the ADTypes interface (AutoForwardDiff, AutoFiniteDiff, AutoEnzyme, AutoZygote, …) so every solver automatically generalizes to any AD backend.
  • Controller is now an object, not a pile of solve kwargs. gamma, beta1, beta2, qmin, qmax, qsteady_min, qsteady_max, qoldinit were moved onto concrete PIController / PIDController / IController / PredictiveController structs, and EEst moved to the controller cache. This is prep work for pluggable controllers and removes a large amount of dead state from the integrator struct.
  • Cleanup of old re-exports / deprecations. Functions like has_destats (now has_stats), sol.destats (now sol.stats), DEAlgorithm/DEProblem/DESolution abstract types, tuples()/intervals(), QuadratureProblem, fastpow, concrete_solve, etc. were on a deprecation path for one or more minor releases. v7 removes them.

Recommended upgrade path

The cleanest path is not to jump straight from an old environment onto v7. Most renamed APIs (e.g. DEAlgorithmAbstractDEAlgorithm, u_modified!derivative_discontinuity!, has_destatshas_stats, sol.destatssol.stats, the construct* tableau functions, alias_u0/alias_du0, beta1/beta2, PID kwargs) already exist under their new names in SciMLBase v2 / OrdinaryDiffEq v6 with deprecation warnings. The recommended sequence is:

  1. Stay on SciMLBase v2 / OrdinaryDiffEq v6. Update your code to the new names (has_stats, sol.stats, AbstractDEAlgorithm, derivative_discontinuity!, ODEAliasSpecifier, ODEVerbosity, ADTypes-based autodiff, explicit controller = … objects, new tableau names) while the deprecation shims still exist.
  2. Verify your tests pass on v6 with no deprecation warnings.
  3. Then bump to v7. At this point your code should compile and run against v7 without further changes aside from the genuinely new breakage (RAT v4 array semantics, ensemble prob_func/output_func signature, struct type parameter removals, kwargs that truly no longer exist, default changes like CheckInit and williamson_condition=false).

Doing it in two steps keeps the diff small per step and lets the deprecation warnings on v6 point you at the exact call sites that will break on v7.

Fallback for RAT v4 indexing

If you cannot update sol[i] / length(sol) / eachindex(sol) call sites yet (see the RAT v4 table below), you can opt back into v3 semantics on a per-solution basis by converting the container type to the ragged variant:

using RecursiveArrayToolsRaggedArrays
sol_old = RaggedVectorOfArray(sol)   # indexes like v3: sol_old[i] is the i-th timestep

RecursiveArrayToolsRaggedArrays.jl preserves the previous AbstractVectorOfArray indexing behavior (timestep-first, not element-first). This is the escape hatch for code that assumes sol[i] returns the i-th timestep. It is, however, recommended that you update to the sol.u[i] / sol[:, i] style — the ragged wrapper is a compatibility layer, not the canonical API going forward.


RecursiveArrayTools v4

ODESolution is now an AbstractArray

AbstractVectorOfArray (the parent type of ODESolution, RODESolution, DAESolution, etc.) now subtypes AbstractArray. This changes the semantics of several common operations:

Operation v3 (old) v4 (new) Migration
sol[i] Returns i-th timestep (Vector) Returns i-th scalar element (column-major) Use sol.u[i] or sol[:, i]
length(sol) Number of timesteps prod(size(sol)) (total elements) Use length(sol.t) or length(sol.u)
eachindex(sol) 1:nsteps CartesianIndices(size(sol)) Use eachindex(sol.u)
iterate(sol) Iterates over timesteps Iterates over scalar elements Use for u in sol.u
first(sol) / last(sol) First/last timestep First/last scalar element Use first(sol.u) / last(sol.u)

... (truncated)

Commits

Updates OrdinaryDiffEqSSPRK to 2.0.0

Changelog

Sourced from OrdinaryDiffEqSSPRK's changelog.

OrdinaryDiffEq.jl v7 Breaking Changes

This release bumps to SciMLBase v3, RecursiveArrayTools v4, and includes breaking changes across DiffEqBase, OrdinaryDiffEqCore, and all solver sublibraries.

Themes of the v7 release

Most of the breaking changes fall into a small set of recurring themes. Keep these in mind while reading the migration table — they explain why an individual change exists and often suggest the right migration direction:

  • Time to first solve (TTFS) reduction. Direct deps on Static.jl, StaticArrayInterface.jl, Polyester.jl, and StaticArrays.jl were dropped; using OrdinaryDiffEq now loads only the default solver set; ODEFunction switched to AutoSpecialize. All of this means less code loaded and more precompilation caching on first solve.
  • Type stability everywhere. All Bool solver/solve keyword arguments (autodiff, verbose, alias, lazy, …) were replaced by typed objects. Passing a Bool no longer changes dispatch in ways the compiler cannot specialize on, and the reverse is no longer allowed to silently fall back through slow generic paths.
  • Generality beyond ForwardDiff. chunk_size, diff_type, standardtag, etc. encoded ForwardDiff-specific or FiniteDiff-specific knobs on every solver. They are replaced by the ADTypes interface (AutoForwardDiff, AutoFiniteDiff, AutoEnzyme, AutoZygote, …) so every solver automatically generalizes to any AD backend.
  • Controller is now an object, not a pile of solve kwargs. gamma, beta1, beta2, qmin, qmax, qsteady_min, qsteady_max, qoldinit were moved onto concrete PIController / PIDController / IController / PredictiveController structs, and EEst moved to the controller cache. This is prep work for pluggable controllers and removes a large amount of dead state from the integrator struct.
  • Cleanup of old re-exports / deprecations. Functions like has_destats (now has_stats), sol.destats (now sol.stats), DEAlgorithm/DEProblem/DESolution abstract types, tuples()/intervals(), QuadratureProblem, fastpow, concrete_solve, etc. were on a deprecation path for one or more minor releases. v7 removes them.

Recommended upgrade path

The cleanest path is not to jump straight from an old environment onto v7. Most renamed APIs (e.g. DEAlgorithmAbstractDEAlgorithm, u_modified!derivative_discontinuity!, has_destatshas_stats, sol.destatssol.stats, the construct* tableau functions, alias_u0/alias_du0, beta1/beta2, PID kwargs) already exist under their new names in SciMLBase v2 / OrdinaryDiffEq v6 with deprecation warnings. The recommended sequence is:

  1. Stay on SciMLBase v2 / OrdinaryDiffEq v6. Update your code to the new names (has_stats, sol.stats, AbstractDEAlgorithm, derivative_discontinuity!, ODEAliasSpecifier, ODEVerbosity, ADTypes-based autodiff, explicit controller = … objects, new tableau names) while the deprecation shims still exist.
  2. Verify your tests pass on v6 with no deprecation warnings.
  3. Then bump to v7. At this point your code should compile and run against v7 without further changes aside from the genuinely new breakage (RAT v4 array semantics, ensemble prob_func/output_func signature, struct type parameter removals, kwargs that truly no longer exist, default changes like CheckInit and williamson_condition=false).

Doing it in two steps keeps the diff small per step and lets the deprecation warnings on v6 point you at the exact call sites that will break on v7.

Fallback for RAT v4 indexing

If you cannot update sol[i] / length(sol) / eachindex(sol) call sites yet (see the RAT v4 table below), you can opt back into v3 semantics on a per-solution basis by converting the container type to the ragged variant:

using RecursiveArrayToolsRaggedArrays
sol_old = RaggedVectorOfArray(sol)   # indexes like v3: sol_old[i] is the i-th timestep

RecursiveArrayToolsRaggedArrays.jl preserves the previous AbstractVectorOfArray indexing behavior (timestep-first, not element-first). This is the escape hatch for code that assumes sol[i] returns the i-th timestep. It is, however, recommended that you update to the sol.u[i] / sol[:, i] style — the ragged wrapper is a compatibility layer, not the canonical API going forward.


RecursiveArrayTools v4

ODESolution is now an AbstractArray

AbstractVectorOfArray (the parent type of ODESolution, RODESolution, DAESolution, etc.) now subtypes AbstractArray. This changes the semantics of several common operations:

Operation v3 (old) v4 (new) Migration
sol[i] Returns i-th timestep (Vector) Returns i-th scalar element (column-major) Use sol.u[i] or sol[:, i]
length(sol) Number of timesteps prod(size(sol)) (total elements) Use length(sol.t) or length(sol.u)
eachindex(sol) 1:nsteps CartesianIndices(size(sol)) Use eachindex(sol.u)
iterate(sol) Iterates over timesteps Iterates over scalar elements Use for u in sol.u
first(sol) / last(sol) First/last timestep First/last scalar element Use first(sol.u) / last(sol.u)

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

…ates

Updates the requirements on [OrdinaryDiffEq](https://github.com/SciML/OrdinaryDiffEq.jl) and [OrdinaryDiffEqSSPRK](https://github.com/SciML/OrdinaryDiffEq.jl) to permit the latest version.

Updates `OrdinaryDiffEq` to 7.0.0
- [Release notes](https://github.com/SciML/OrdinaryDiffEq.jl/releases)
- [Changelog](https://github.com/SciML/OrdinaryDiffEq.jl/blob/master/NEWS.md)
- [Commits](https://github.com/SciML/OrdinaryDiffEq.jl/commits/v7.0.0)

Updates `OrdinaryDiffEqSSPRK` to 2.0.0
- [Release notes](https://github.com/SciML/OrdinaryDiffEq.jl/releases)
- [Changelog](https://github.com/SciML/OrdinaryDiffEq.jl/blob/master/NEWS.md)
- [Commits](SciML/OrdinaryDiffEq.jl@v1.5.0...v2.0.0)

---
updated-dependencies:
- dependency-name: OrdinaryDiffEq
  dependency-version: 7.0.0
  dependency-type: direct:production
  dependency-group: all-julia-dependencies
- dependency-name: OrdinaryDiffEqSSPRK
  dependency-version: 2.0.0
  dependency-type: direct:production
  dependency-group: all-julia-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file julia Pull requests that update julia code labels Apr 27, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 27, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.09%. Comparing base (fb17e87) to head (e23b293).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #411   +/-   ##
=======================================
  Coverage   93.09%   93.09%           
=======================================
  Files          42       42           
  Lines        6805     6805           
=======================================
  Hits         6335     6335           
  Misses        470      470           
Flag Coverage Δ
unittests 93.09% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@JoshuaLampert
Copy link
Copy Markdown
Contributor

Failing Downgrade is because of JuliaArrays/StaticArrayInterface.jl#52. You might need to bump the compat bound to StaticArrayInterface.jl to v1.10 to fix that.
Failing Documentation is due to the change of OrdinaryDiffEq.jl v7, which requires subpackages to be loaded for accessing most integrators.

@coveralls
Copy link
Copy Markdown

coveralls commented May 1, 2026

Coverage Status

coverage: 93.086%. remained the same — dependabot/julia/docs/all-julia-dependencies-322f8350f6 into main

@ranocha
Copy link
Copy Markdown
Owner

ranocha commented May 1, 2026

@JoshuaLampert Do you have an idea why the SBP property is not satisfied anymore in multiple dimensions?

│ ```@example twodimensional_advection
│ check = M * D_x + D_x' * M ≈ B_x
│ check && error("SBP property in x-direction is not satisfied.")
│ ```
│   exception =
│    SBP property in x-direction is not satisfied.
│    Stacktrace:

https://github.com/ranocha/SummationByPartsOperators.jl/actions/runs/25208756691/job/73914635752?pr=411#step:7:34

@ranocha
Copy link
Copy Markdown
Owner

ranocha commented May 1, 2026

I observed this also locally while debugging the CI build. That's why I added the explicit error message there. Please note that latest stable docs are fine: https://ranocha.de/SummationByPartsOperators.jl/stable/tutorials/twodimensional_linear_advection/

@JoshuaLampert
Copy link
Copy Markdown
Contributor

Hm, that's strange. I'll investigate.

@JoshuaLampert
Copy link
Copy Markdown
Contributor

JoshuaLampert commented May 1, 2026

I cannot reproduce locally:

(docs) pkg> st
Status `~/.julia/dev/SummationByPartsOperators/docs/Project.toml`
  [aae01518] BandedMatrices v1.11.0
  [6e4b80f9] BenchmarkTools v1.8.0
  [e30172f5] Documenter v1.17.0
  [f6369f11] ForwardDiff v1.3.3
  [b964fa9f] LaTeXStrings v1.4.0
  [af6ede74] OrdinaryDiffEqRKN v2.0.0
  [43230ef6] OrdinaryDiffEqRosenbrock v2.0.0
  [669c94d9] OrdinaryDiffEqSSPRK v2.0.0
  [b1df2697] OrdinaryDiffEqTsit5 v2.0.0
  [91a5bcdd] Plots v1.41.6
  [90137ffa] StaticArrays v1.9.18
  [09ab397b] StructArrays v0.7.3
  [9f78cca6] SummationByPartsOperators v0.5.92-DEV `..`
  [2f01184e] SparseArrays v1.12.0

julia> using SummationByPartsOperators

julia> xmin, xmax, ymin, ymax = -1.0, 1.0, -2.0, 2.0
(-1.0, 1.0, -2.0, 2.0)

julia> N_x, N_y = 30, 60
(30, 60)

julia> D_1 = derivative_operator(MattssonNordström2004(), derivative_order = 1, accuracy_order = 4,
                                 xmin = xmin, xmax = xmax, N = N_x)
SBP first-derivative operator of order 4 on a grid in [-1.0, 1.0] using 30 nodes 
and coefficients of Mattsson, Nordström (2004) 
  Summation by parts operators for finite difference approximations of second 
    derivatives. 
  Journal of Computational Physics 199, pp. 503-540.

julia> D_2 = derivative_operator(MattssonNordström2004(), derivative_order = 1, accuracy_order = 4,
                                 xmin = ymin, xmax = ymax, N = N_y)
SBP first-derivative operator of order 4 on a grid in [-2.0, 2.0] using 60 nodes 
and coefficients of Mattsson, Nordström (2004) 
  Summation by parts operators for finite difference approximations of second 
    derivatives. 
  Journal of Computational Physics 199, pp. 503-540.

julia> D = tensor_product_operator_2D(D_1, D_2)
2-dimensional tensor product operator {T=Float64} on 1800 nodes
julia> D_x = D[1]; D_y = D[2];

julia> M = mass_matrix(D); B_x = mass_matrix_boundary(D, 1); B_y = mass_matrix_boundary(D, 2);

julia> M * D_x + D_x' * M  B_x
true

julia> M * D_y + D_y' * M  B_y
true

Does running this snippet in the docs project on the branch of this PR return false for you, @ranocha?
Edit: When building the documentation locally, I also get the error, but it is not very convenient to debug by always building the docs 😅
It's also not a Julia issue. I tried it with julia v1.10.11 and v1.12.6 and it does not matter.

@JoshuaLampert
Copy link
Copy Markdown
Contributor

The only potential issue I could think of is that M * D_x + D_x' * M is a SparseMatrixCSC and B_x is a Diagonal, but usually that should not matter for isapprox.

@ranocha
Copy link
Copy Markdown
Owner

ranocha commented May 1, 2026

I just tried again locally and it's fine... 😕

@JoshuaLampert
Copy link
Copy Markdown
Contributor

I just tried again locally and it's fine... 😕

Building the docs or only running the code snippet?

@ranocha
Copy link
Copy Markdown
Owner

ranocha commented May 1, 2026

Running the code

@JoshuaLampert
Copy link
Copy Markdown
Contributor

Running the code

Yes, that is consistently fine for me, but inside the docs it's consistently failing. Even with this version, which is really really strange:

1.3877787807814457e-17
┌ Error: failed to run `@example` block in docs/src/tutorials/twodimensional_linear_advection.md:83-88```@example twodimensional_advection
│ diff = maximum(abs.(Matrix(M * D_x + D_x' * M - B_x)))
│ display(diff)
│ check = all(isapprox(diff, 0.0, atol = 1e-15))
│ check && error("SBP property in x-direction is not satisfied.")
```
│   exception =
│    SBP property in x-direction is not satisfied.
│    Stacktrace:
│      [1] error(s::String)
│        @ Base ./error.jl:44
│      [2] top-level scope
│        @ twodimensional_linear_advection.md:87
│      [3] eval(m::Module, e::Any)
│        @ Core ./boot.jl:489
│      [4] #61
│        @ ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:879 [inlined]
│      [5] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
│        @ Base.Filesystem ./file.jl:112
│      [6] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
│        @ Documenter ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:878
│      [7] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
│      [8] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
│        @ Base.CoreLogging ./logging/logging.jl:542
│      [9] with_logger(f::Function, logger::Base.CoreLogging.ConsoleLogger)
│        @ Base.CoreLogging ./logging/logging.jl:653
│     [10] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
│     [11] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
│        @ Documenter ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:877
└ @ Documenter ~/.julia/packages/Documenter/AXNMp/src/utilities/utilities.jl:47
1.3877787807814457e-17
┌ Error: failed to run `@example` block in docs/src/tutorials/twodimensional_linear_advection.md:90-95```@example twodimensional_advection
│ diff = maximum(abs.(Matrix(M * D_x + D_x' * M - B_x)))
│ display(diff)
│ check = all(isapprox(diff, 0.0, atol = 1e-15))
│ check && error("SBP property in y-direction is not satisfied.")
```
│   exception =
│    SBP property in y-direction is not satisfied.
│    Stacktrace:
│      [1] error(s::String)
│        @ Base ./error.jl:44
│      [2] top-level scope
│        @ twodimensional_linear_advection.md:94
│      [3] eval(m::Module, e::Any)
│        @ Core ./boot.jl:489
│      [4] #61
│        @ ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:879 [inlined]
│      [5] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
│        @ Base.Filesystem ./file.jl:112
│      [6] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
│        @ Documenter ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:878
│      [7] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
│      [8] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
│        @ Base.CoreLogging ./logging/logging.jl:542
│      [9] with_logger(f::Function, logger::Base.CoreLogging.ConsoleLogger)
│        @ Base.CoreLogging ./logging/logging.jl:653
│     [10] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
│        @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
│     [11] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
│        @ Documenter ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:877
└ @ Documenter ~/.julia/packages/Documenter/AXNMp/src/utilities/utilities.jl:47

@ranocha
Copy link
Copy Markdown
Owner

ranocha commented May 1, 2026

I just tried something since I noticed warnings in the log that we got earlier with Trixi.jl and which seem to be fixed by trixi-framework/Trixi.jl#2791.

@JoshuaLampert
Copy link
Copy Markdown
Contributor

JoshuaLampert commented May 1, 2026

Ohh, I might have an idea. I guess what we want is

!check && error("SBP property in x-direction is not satisfied.")

or

check || error("SBP property in x-direction is not satisfied.")

Otherwise it's raising the error if it is true 😅

@ranocha ranocha enabled auto-merge (squash) May 1, 2026 13:57
@JoshuaLampert
Copy link
Copy Markdown
Contributor

So the only remaining question is:

I observed this also locally while debugging the CI build.

What exactly did you see locally while debugging the CI build, which lead you add this check? 😄

@ranocha
Copy link
Copy Markdown
Owner

ranocha commented May 1, 2026

The terminal is closed, and I don't have its output anymore... What I saw was that the first check returned false when executing the code from the docs in a development environment. However, it looks like I cannot reproduce this anymore in a fresh environment.

@ranocha
Copy link
Copy Markdown
Owner

ranocha commented May 1, 2026

Thanks for your help with this!

@ranocha ranocha merged commit c590c7e into main May 1, 2026
23 checks passed
@ranocha ranocha deleted the dependabot/julia/docs/all-julia-dependencies-322f8350f6 branch May 1, 2026 14:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file julia Pull requests that update julia code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants