docs: only try the local sibling inventory outside CI - #951
Merged
Conversation
DocumenterInterLinks tries each InterLinks source in order and falls
back on failure. The local sibling objects.inv path (kept first so a
contributor with siblings cloned and built locally sees their own
in-progress docstring/@extref changes) can never resolve on CI, since
only this repo is checked out there — so every CI run logged 7
'Failed to load inventory' warnings, one per control-toolbox sibling,
before falling back to the remote inventory that always succeeds.
sibling_inventory() drops the local path entirely when ENV["CI"] ==
"true", so CI's tuple only ever tries sources that can succeed.
Local-dev ordering and behavior are unchanged.
Verified locally: CI=true julia --project=docs/ ... include("docs/make.jl")
completes with zero 'Failed to load inventory' lines and no errors.
ocots
added a commit
that referenced
this pull request
Sep 2, 2026
Both cross-reference backlogs are cleared: - @extref: `_strategy_parameter` (#944) + CTModels' extension docstrings (CTModels.jl#428, shipped in CTModels 0.19.4-beta) - @ref/DOCPCache: CTDirect#630 (closed) So `makedocs` no longer needs `warnonly` — an unresolved `@ref`/`@extref`, or a broken `@example`/`@repl`, now fails the build. Verified with the sibling inventories forced to resolve remotely (as on CI): full build, exit 0, zero unresolved references. Also: - docs env moves to CTBase 0.30.4-beta + CTModels 0.19.4-beta; docs/src/assets/Manifest.toml regenerated. - Project.toml 2.2.0-beta -> 2.2.1-beta (docs-infra patch, no API/runtime change); CHANGELOG + BREAKING get a 2.2.1-beta section collecting this plus the already-merged #944 (extref), #949 (draft=false default) and #951 (CI-only remote inventories). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.
Closes #950.
DocumenterInterLinkstries eachInterLinkssource in order and falls back on failure. The local siblingobjects.invpath indocs/make.jl(kept first so a contributor with sibling repos cloned and built locally sees their own in-progress docstring/@extrefchanges, not the last stable release) can never resolve on CI — only this repo is checked out there — so every CI run logged 7Failed to load inventorywarnings, one per control-toolbox sibling (CTBase, CTDirect, CTFlows, CTLie, CTModels, CTParser, CTSolvers), before falling back to the remote inventory that always succeeds.sibling_inventory(dir_name, base_url)now drops the local path entirely whenENV["CI"] == "true", so CI's tuple only ever contains sources that can actually succeed (base URL + remote inventory). Local-dev ordering and behavior are unchanged — local-first when the path exists, same fallback to the remote URL otherwise.Verified locally, both branches of the conditional:
CI=true julia --project=docs/ -e 'include("docs/make.jl")'→ full build completes, 0Failed to load inventorylines, no errors.CIis unset.No behavior change for the 4 non-sibling entries (ADNLPModels, NLPModelsIpopt, ExaModels, MadNLP, Tutorials) — those already use committed
docs/inventories/*.tomlfiles, not a sibling build path, so they were never affected.🤖 Generated with Claude Code