Skip to content

docs: Migrate to gp-sphinx workspace packages#657

Merged
tony merged 11 commits intomasterfrom
gp-sphinx
Apr 5, 2026
Merged

docs: Migrate to gp-sphinx workspace packages#657
tony merged 11 commits intomasterfrom
gp-sphinx

Conversation

@tony
Copy link
Copy Markdown
Member

@tony tony commented Apr 5, 2026

Summary

  • Migrate docs to use gp-sphinx shared configuration platform via merge_sphinx_config()
  • Pin gp-sphinx workspace packages to published 0.0.1a1

Test plan

  • Docs build passes in CI
  • Live docs publish to S3 from this branch

@codecov
Copy link
Copy Markdown

codecov bot commented Apr 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 46.55%. Comparing base (a9a1147) to head (974f761).
⚠️ Report is 12 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff             @@
##           master     #657       +/-   ##
===========================================
- Coverage   67.17%   46.55%   -20.63%     
===========================================
  Files          41       22       -19     
  Lines        4478     2363     -2115     
  Branches      624      389      -235     
===========================================
- Hits         3008     1100     -1908     
+ Misses       1240     1094      -146     
+ Partials      230      169       -61     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

tony added 11 commits April 5, 2026 13:01
why: Consolidate docs dependencies into the gp-sphinx shared platform,
     replacing individual sphinx extensions with curated package bundles.
what:
- Remove sphinx<9, furo, sphinx-autodoc-typehints, sphinx-inline-tabs,
  sphinxext-opengraph, sphinx-copybutton, sphinxext-rediraffe,
  sphinx-design, myst-parser, linkify-it-py from dev/docs groups
- Add gp-sphinx and sphinx-pytest-fixtures (editable from local workspace)
- Move types-docutils into dev group (needed for sphinx_pytest_fixtures types)
- Add [tool.uv.sources] pointing to local gp-sphinx packages
- Update uv.lock
why: libtmux was maintaining ~290 lines of Sphinx configuration that
     duplicates what gp-sphinx now provides as shared defaults — fonts,
     theme, extensions, copybutton, autodoc, and linkcode resolution.
what:
- Replace manual conf.py with merge_sphinx_config() and make_linkcode_resolve()
- Retain project-specific overrides: announcement banner, favicon,
  custom CSS, todo extension
…t-fixtures

why: Follow sphinx-autodoc-* naming convention (like sphinx-autodoc-typehints).
what:
- Update dependency name in dev and docs groups
- Update [tool.uv.sources] path
- Update mypy module override
- Update docs/conf.py extra_extensions
why: Match tmuxp's gp-sphinx integration pattern — use git sources
pointing to git-pull/gp-sphinx#init-3 instead of local editable paths.
sphinx_fonts and sphinx_pytest_fixtures are now gp-sphinx packages.
what:
- Switch [tool.uv.sources] from local paths to git sources (init-3)
- Remove docs/_ext/sphinx_fonts.py (now sphinx-fonts package)
- Remove docs/_ext/sphinx_pytest_fixtures/ (now sphinx-autodoc-pytest-fixtures)
- Keep docs/_ext/spf_demo_fixtures.py (libtmux-specific badge demo)
- Re-add docs/_ext to sys.path for spf_demo_fixtures only
why: sphinx_fonts, sphinx_pytest_fixtures, and their tests now live in
the gp-sphinx workspace as independent packages. The badge demo page
depended on spf_demo_fixtures which was libtmux-specific scaffolding.
what:
- Remove docs/_ext/spf_demo_fixtures.py and remaining __pycache__
- Remove tests/docs/_ext/ entirely (tests migrated to gp-sphinx)
- Remove docs/demo/ badge showcase pages
- Remove demo/index from docs toctree
- Remove dead mypy overrides for sphinx_fonts and sphinx_autodoc_pytest_fixtures
- Remove _ext sys.path from docs/conf.py
why: Squash incremental git-source tracking into final pinned release.
what:
- Remove [tool.uv.sources] git overrides for gp-sphinx packages
- Pin gp-sphinx==0.0.1a0 and sphinx-autodoc-pytest-fixtures==0.0.1a0
- Update uv.lock to resolve from PyPI
why: tests/docs/ was a placeholder for upstream extension tests that
     were never committed. With sphinx-fonts and sphinx-autodoc-pytest-fixtures
     as standalone PyPI packages, there is nothing to test here.
what:
- Remove tests/docs/__init__.py
why: The gp-sphinx docs stack moved to v0.0.1a1 and downstream branches need matching pins and locks.
what:
- bump gp-sphinx docs dependency pins from 0.0.1a0 to 0.0.1a1
- refresh uv.lock to resolve the published v0.0.1a1 packages
@tony tony merged commit fd2b607 into master Apr 5, 2026
12 of 13 checks passed
@tony tony deleted the gp-sphinx branch April 5, 2026 18:35
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