Upgrade sphinx to 9.0.4
Categories
(Developer Infrastructure :: Source Documentation, task)
Tracking
(firefox157 fixed)
| Tracking | Status | |
|---|---|---|
| firefox157 | --- | fixed |
People
(Reporter: Sylvestre, Assigned: Sylvestre)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
Attachments
(6 files, 4 obsolete files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
we can't upgrade to 9 because of https://github.com/executablebooks/MyST-Parser/pull/1076
Sphinx 8 changelog: https://www.sphinx-doc.org/en/master/changes/8.2.html
dependency upgrades needed:
- myst-parser: 2.0 → 4.0.1
- sphinx-design: 0.5.0 → 0.6.1
- sphinx-rtd-theme: 2.0.0 → 3.0.2
- sphinx-js: 4.0.0 → 5.0.2
| Assignee | ||
Comment 1•8 months ago
|
||
Upgrade Sphinx from 7.4.7 to 8.2.3 along with compatible versions of:
- myst-parser: 2.0 → 4.0.1
- sphinx-design: 0.5.0 → 0.6.1
- sphinx-rtd-theme: 2.0.0 → 3.0.2
- sphinx-js: 4.0.0 → 5.0.2
| Assignee | ||
Comment 2•8 months ago
|
||
Add mach.commands.commandinfo and mach.commands.settings import
warnings to the known failures list. These modules have deep
dependency chains that would require adding many build infrastructure
dependencies to the docs environment.
| Assignee | ||
Comment 3•8 months ago
|
||
Add missing vendored dependencies to fix import errors:
- mozilla_taskgraph (fixes ~150 gecko_taskgraph import failures)
- ply (fixes mozwebidlcodegen import failure)
Fix Sphinx compatibility warning in moztreedocs by using pathlib.Path
objects instead of string paths for comparisons.
| Assignee | ||
Comment 4•8 months ago
|
||
Convert TypeScript-style JSDoc type syntax to standard JSDoc format
that sphinx-js can parse:
- Arrow function types (param: Type) => ReturnType → Function
- Index signatures {[key: string]: Type} → Object
- Tuple types [Type1, Type2] → Array
- Generic types Values<typeof X>, Parameters<X> → * or base type
- Intersection types Type1 & Type2 → Type1 or Object
- Import types import("file").Type → *
| Assignee | ||
Comment 5•8 months ago
|
||
The JSDoc @type tag does not permit descriptions.
Fixed three patterns:
-
Multi-line comments where @type was first, followed by description
lines - moved descriptions before @type -
Single-line comments like /** @type {X} Description / - reordered
to /* Description @type {X} */ -
Comments with descriptions both before and after @type - removed
redundant descriptions after @type
| Assignee | ||
Comment 6•7 months ago
|
||
It won't regress the doc. The links are already invalid.
| Assignee | ||
Updated•7 months ago
|
Comment 8•7 months ago
|
||
| bugherder | ||
Comment 9•7 months ago
|
||
(In reply to Sylvestre Ledru [:Sylvestre] from comment #0)
we can't upgrade to 9 because of https://github.com/executablebooks/MyST-Parser/pull/1076
The issue has been fixed and MyST-Parser 5.0.0 has been released.
Will upgrading to Sphinx 9 be considered a separate bug?
| Assignee | ||
Comment 10•7 months ago
|
||
yeah, i have been working on the doc platform
Updated•5 months ago
|
Updated•1 month ago
|
Updated•1 month ago
|
| Assignee | ||
Comment 11•1 month ago
|
||
sphinxcontrib-mermaid 2.x forces every diagram into a 100% x 500px box,
which scales tall diagrams down until their labels are unreadable and
stretches short ones across the whole page. Size the diagrams to their
content instead and bump the label font size.
The nodes in how_to_submit_a_patch hardcode a light blue fill but left
the label color to the theme, giving grey on light blue. Set an explicit
dark label color so they are readable in both themes.
| Assignee | ||
Comment 12•1 month ago
|
||
The updated sphinx-js/jsdoc pipeline no longer accepts the {*} any-type
shorthand, so spell it {any} everywhere it is used.
Also update the allowed warnings for sphinx 9 and vendor third_party/python/ply
for the docs virtualenv.
Updated•1 month ago
|
Updated•1 month ago
|
Updated•1 month ago
|
| Assignee | ||
Comment 13•18 days ago
|
||
myst-parser 5.x requires markdown-it-py ~=4.2, but the tree vendors 3.0.0
and taskcluster/requirements.in caps it below 4. That cap was added in
524c505b0b94 when the previous myst-parser 5.1.0 update was backed out,
and is marked temporary: it only exists to keep myst-parser 2.0.0
resolvable. Lift it so the sphinx 9 upgrade can proceed.
rich is the only real consumer and requires markdown-it-py>=2.2.0.
Neither taskcluster-taskgraph nor mozilla-taskgraph depends on it.
Updated•18 days ago
|
Updated•18 days ago
|
| Assignee | ||
Comment 14•18 days ago
|
||
Caused by the Sphinx 7.4.7 -> 9.0.4 upgrade earlier in this stack:
BuildEnvironment.relfn2path used to normalise with path.normpath(), and
now uses Path.resolve(). Since the docs are built from a staging tree of
symlinks into the source tree, resolve() follows the symlink of the
document being linked to and lands outside the Sphinx source directory,
so myst-parser reports "Unknown source document" - 1339 warnings on a
clean build.
Override relfn2path to normalise textually again, so ".." still collapses
but the path stays in the staging tree. Known failures drop from 1624 to
298. The 13 newly reported ones are the already-allowlisted "local id not
found in doc": links reaching the right document but a stale anchor,
previously masked by the link failing outright.
Comment 15•17 days ago
|
||
Comment 16•17 days ago
|
||
Comment 17•17 days ago
|
||
Comment 18•17 days ago
|
||
| bugherder | ||
Comment 19•17 days ago
|
||
Updated•17 days ago
|
Comment 20•16 days ago
|
||
| bugherder | ||
Description
•