Skip to content

docs: only try the local sibling inventory outside CI - #951

Merged
ocots merged 1 commit into
mainfrom
docs/interlinks-ci-quiet
Sep 2, 2026
Merged

docs: only try the local sibling inventory outside CI#951
ocots merged 1 commit into
mainfrom
docs/interlinks-ci-quiet

Conversation

@ocots

@ocots ocots commented Sep 2, 2026

Copy link
Copy Markdown
Member

Closes #950.

DocumenterInterLinks tries each InterLinks source in order and falls back on failure. The local sibling objects.inv path in docs/make.jl (kept first so a contributor with sibling repos cloned and built locally sees their own in-progress docstring/@extref changes, not the last stable release) can never resolve on CI — only this repo is checked out there — so every CI run logged 7 Failed to load inventory warnings, 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 when ENV["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, 0 Failed to load inventory lines, no errors.
  • dev-mode tuple shape unchanged (still 3 entries, local-first) when CI is unset.

No behavior change for the 4 non-sibling entries (ADNLPModels, NLPModelsIpopt, ExaModels, MadNLP, Tutorials) — those already use committed docs/inventories/*.toml files, not a sibling build path, so they were never affected.

🤖 Generated with Claude Code

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 ocots added the run documentation Trigger Documentation label Sep 2, 2026
@ocots
ocots merged commit a602f8f into main Sep 2, 2026
8 checks passed
@ocots
ocots deleted the docs/interlinks-ci-quiet branch September 2, 2026 16:12
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run documentation Trigger Documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: silence the 7 DocumenterInterLinks local-inventory warnings in CI

1 participant