Fix Documentation CI: drop stale docs/Manifest.toml and fix rn.defaults accessor#71
Merged
ChrisRackauckas merged 2 commits intoJun 10, 2026
Conversation
The Documentation workflow has failed on every run since it was added
(2026-06-02); it has never succeeded. Two independent problems:
1. CxxWrap precompile failure on Julia 1.12. The committed
docs/Manifest.toml was generated on Julia 1.11.1. When CI runs
`Pkg.develop(path=pwd()); Pkg.instantiate()` on Julia "1" (now 1.12),
the develop step forces a re-resolve that, constrained by the stale
manifest, bumps CxxWrap only to v0.16.2 (+ libcxxwrap_julia_jll
v0.13.4), which fail to precompile on 1.12 with:
C++ exception while wrapping module StdLib: invalid subtyping in
definition of StdString with supertype CppBasicString
This takes down Polymake -> Oscar -> CatalystNetworkAnalysis. The
Tests workflow passes because it has no committed manifest and
resolves fresh to CxxWrap v0.17.5 / Oscar v1.7.3, which precompile
fine on 1.12. Deleting the stale docs/Manifest.toml (and gitignoring
it) lets the docs build resolve fresh to the working versions.
2. `rn.defaults` property access no longer works under the current
ModelingToolkitBase ("variable defaults does not exist"), breaking the
`networksummary` default argument and the index.md @example block.
Replaced with the `Catalyst.defaults(rn)` accessor, which returns the
same defaults dict.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Catalyst.defaults does not exist: Catalyst 16 (ModelingToolkitBase) replaced the system defaults field with initial_conditions, while Catalyst 14 still exposes rn.defaults. Select the right accessor at package load time. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Contributor
Author
|
The first docs CI run on this PR got past the CxxWrap/manifest problem (modern stack resolved and precompiled) but failed in the Pushed 82a8599 which replaces it with a version-aware accessor:
Note the default argument is only evaluated when |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR should be ignored until reviewed by @ChrisRackauckas.
Summary
The
Documentationworkflow has failed on every run since it was added on 2026-06-02 (commit d72fcde, the migration to centralized SciML workflows). It has never produced a successful build — 20 failures, 0 successes, 2 cancelled. This is not a regression from a single later commit; docs CI was broken the moment it was turned on.There are two independent root causes:
1. CxxWrap precompile failure on Julia 1.12 (caused by the stale committed
docs/Manifest.toml)The committed
docs/Manifest.tomlwas generated on Julia 1.11.1. When CI runson Julia
"1"(currently 1.12), thedevelopstep forces a re-resolution that, constrained by the stale manifest, bumps CxxWrap only as far as v0.16.2 (andlibcxxwrap_julia_jllto v0.13.4). Those versions fail to precompile on Julia 1.12 with:which cascades into
Polymake→Oscar→CatalystNetworkAnalysisprecompile failures.The Tests workflow passes on the same Julia 1.12 because it has no committed manifest and resolves fresh to CxxWrap v0.17.5 / Oscar v1.7.3 / libcxxwrap_julia_jll v0.14.10, which precompile fine on 1.12.
Fix: delete the stale
docs/Manifest.tomland add it to.gitignoreso the docs build resolves fresh to the working versions (matching how the Tests CI already behaves).2.
rn.defaultsno longer works under current ModelingToolkitBaseOnce the stack loads, the
index.md@exampleblock fails with:from the
networksummarydefault argumentp::VarMapType = rn.defaults(src/steadystates.jl:23). Property-style access todefaultsis no longer supported by the current ModelingToolkitBasegetproperty. Replaced with theCatalyst.defaults(rn)accessor, which returns the same defaults dict.Verification
Verified locally on Julia 1.12.6:
CxxWrap v0.16.2on Julia 1.12.6 — exactinvalid subtyping in definition of StdStringerror.✓ CxxWrap,✓ Oscar); the docs build then proceeds through precompilation intomakedocs.rn.defaults@exampleblock; confirmedCatalyst.defaults(rn)returns a valid defaultsDictwherern.defaultserrors.🤖 Generated with Claude Code