Skip to content

fix(ci): bundle _sphinx_html/index.html into wheel (PS-121)#316

Open
ywatanabe1989 wants to merge 1 commit into
mainfrom
fix/ci-bundle-sphinx-html
Open

fix(ci): bundle _sphinx_html/index.html into wheel (PS-121)#316
ywatanabe1989 wants to merge 1 commit into
mainfrom
fix/ci-bundle-sphinx-html

Conversation

@ywatanabe1989

Copy link
Copy Markdown
Owner

Summary

  • Seeds the missing in-wheel docs bundle at src/scitex/_sphinx_html/ so PS-121 stops firing
  • Also drops src/*/_sphinx_html/ from .gitignore (PS-128) — hatchling's force-include requires the bundle to be tracked
  • The package directory is scitex (not scitex_python) so the bundle lives there
  • Built locally with sphinx 9.1.0 + the canonical pinned doc stack (sphinx-rtd-theme, myst-parser, sphinx-copybutton, sphinx-autodoc-typehints, plus nbsphinx + matplotlib for the gallery)

PS-121 context

PS-121 in scitex-dev's audit corpus:

package has docs/sphinx/conf.py but no src//_sphinx_html/index.html bundled. scitex-cloud serves docs from the in-wheel _sphinx_html/ — without it the package is invisible at https://scitex.ai/apps/docs/.

Reproducer: scitex-dev ecosystem audit-all scitex-python --no-version-check → PS-121 violation.

PS-128 was also implicitly violated by .gitignore excluding src/*/_sphinx_html/, which would cause hatchling 'Forced include not found' on a clean rebuild.

Note on size

Bundle is ~60 MB due to the matplotlib gallery image set baked into _static/gallery/. .doctrees/ and __intersphinx_cache__/ intermediates have been stripped. The rtd-sphinx-build-on-ubuntu-latest.yml workflow already in place will keep the bundle refreshed on every push to main/develop going forward.

Test plan

  • CI quality / audit job passes (no PS-121 violation)
  • pip wheel . contains scitex/_sphinx_html/index.html

🤖 Generated with Claude Code

PS-121 audits that scitex-cloud can serve per-package docs from the
in-wheel ``src/<pkg>/_sphinx_html/index.html`` bundle. This repo had
no bundle checked in AND ``.gitignore`` actively excluded
``src/*/_sphinx_html/`` — the latter is PS-128, because hatchling's
force-include path requires the directory to be tracked.

Two-part fix:
1. Drop the ``src/*/_sphinx_html/`` line from .gitignore (PS-128).
2. Commit the freshly-built ``_sphinx_html/`` tree under
   ``src/scitex/`` (PS-121). The package directory is ``scitex``,
   not ``scitex_python``.

Built locally with sphinx 9.1.0 + the canonical pinned doc stack
(sphinx-rtd-theme, myst-parser, sphinx-copybutton,
sphinx-autodoc-typehints, plus nbsphinx, matplotlib for gallery).
The ``rtd-sphinx-build-on-ubuntu-latest.yml`` workflow already in
place will keep the bundle refreshed on every push to main/develop
going forward.

Note: bundle is ~60 MB because the docs include the matplotlib
gallery image set; ``.doctrees/`` and ``__intersphinx_cache__/``
intermediates have been stripped to keep the commit size down.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ywatanabe1989

Copy link
Copy Markdown
Owner Author

Note: the failing pytest-matrix jobs here are blocked on PS-170 (umbrella pin freshness), not anything from this PR:

ERRO: ./pyproject.toml: PS-170: scitex-dev==0.17.4 but PyPI latest is 0.17.6
ERRO: ./pyproject.toml: PS-170: scitex-io==0.2.20 but PyPI latest is 0.2.21
ERRO: ./pyproject.toml: PS-170: scitex-db==0.1.11 but PyPI latest is 0.1.12
ERRO: ./pyproject.toml: PS-170: scitex-msword==0.2.0 but PyPI latest is 0.3.2
ERRO: ./pyproject.toml: PS-170: scitex-dataset==0.3.10 but PyPI latest is 0.4.0

That's a stale umbrella-pin issue that needs a separate chore(deps): bump pinned versions PR — would also be red on a no-op PR right now. This PR only adds files under src/scitex/_sphinx_html/ and removes one line from .gitignore; it can't introduce or worsen the pin-freshness violation.

import-smoke and CLAssistant pass; sphinx, RTD, codecov, etc. are still pending.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant