Skip to content

Migrate docs hosting from GitHub Pages to ReadTheDocs#347

Merged
chrisguidry merged 1 commit intomainfrom
fix-docs-ci-fork-prs
Feb 20, 2026
Merged

Migrate docs hosting from GitHub Pages to ReadTheDocs#347
chrisguidry merged 1 commit intomainfrom
fix-docs-ci-fork-prs

Conversation

@chrisguidry
Copy link
Owner

The docs CI workflow fails on fork PRs because GitHub restricts the
GITHUB_TOKEN to read-only, and the marocchino/sticky-pull-request-comment
step can't post. Rather than patching around that, this switches docs
hosting to ReadTheDocs Community, which has built-in PR preview builds
that work for fork PRs automatically.

Custom domain: docket.lol (apex, via Porkbun ALIAS record to readthedocs.io)

Changes:

  • Add .readthedocs.yaml with custom build commands for Zensical
  • Add site_url: https://docket.lol/ to mkdocs.yml
  • Simplify docs.yml to a build-check-only workflow (no publish job,
    no sticky comment, minimal permissions)
  • Update all doc URLs in README to docket.lol

After merge: import project on readthedocs.org, set up Porkbun ALIAS
record for docket.lol, configure custom domain in RTD settings, and
delete the github-pages environment from the repo.

🤖 Generated with Claude Code

The docs CI workflow fails on fork PRs because GitHub restricts the
`GITHUB_TOKEN` to read-only, and the `marocchino/sticky-pull-request-comment`
step can't post. Rather than patching around that, this switches docs
hosting to ReadTheDocs Community, which has built-in PR preview builds
that work for fork PRs automatically.

Changes:
- Add `.readthedocs.yaml` with custom build commands for Zensical
- Add `site_url: https://docket.lol/` to `mkdocs.yml`
- Simplify `docs.yml` to a build-check-only workflow (no publish job,
  no sticky comment, minimal permissions)
- Update all doc URLs in README to `docket.lol`

After merge: import project on readthedocs.org, set up Porkbun ALIAS
record for `docket.lol`, configure custom domain in RTD settings, and
delete the `github-pages` environment from the repo.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@chrisguidry chrisguidry merged commit 5c5ce65 into main Feb 20, 2026
91 of 92 checks passed
@chrisguidry chrisguidry deleted the fix-docs-ci-fork-prs branch February 20, 2026 19:41
chrisguidry added a commit that referenced this pull request Feb 20, 2026
Follow-up to #347 — RTD serves docs under `/en/latest/` with
multi-version mode. Root URLs redirect fine, but subpage links
(getting-started, api-reference, testing) need the prefix to resolve
directly.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
chrisguidry added a commit that referenced this pull request Feb 20, 2026
Follow-up to #347 — RTD serves docs under `/en/latest/` with
multi-version mode. Root URLs redirect fine, but subpage links
(getting-started, api-reference, testing) need the prefix to resolve
directly.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 <[email protected]>
chrisguidry added a commit that referenced this pull request Feb 20, 2026
Docs moved to ReadTheDocs in #347. This redirects old GitHub Pages
URLs to the new domain, preserving subpaths via 404.html.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
chrisguidry added a commit that referenced this pull request Feb 20, 2026
Follow-up to #347 — now that docs are on ReadTheDocs, update the
project URLs so PyPI links to docket.lol instead of the GitHub repo.
Also adds separate Documentation and Repository entries.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
chrisguidry added a commit that referenced this pull request Feb 20, 2026
Follow-up to #347 — now that docs are on ReadTheDocs, update the
project URLs so PyPI links to docket.lol instead of the GitHub repo.
Also adds separate Documentation and Repository entries.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 <[email protected]>
@codecov-commenter
Copy link

codecov-commenter commented Feb 20, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (dee3b0a) to head (f8d6874).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff            @@
##              main      #347   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           99        99           
  Lines         3098      3098           
  Branches        27        27           
=========================================
  Hits          3098      3098           
Flag Coverage Δ
cli-python-3.10 100.00% <ø> (ø)
cli-python-3.11 100.00% <ø> (ø)
cli-python-3.12 100.00% <ø> (?)
cli-python-3.13 100.00% <ø> (ø)
cli-python-3.14 100.00% <ø> (ø)
python-3.10 100.00% <ø> (ø)
python-3.11 98.03% <ø> (ø)
python-3.12 100.00% <ø> (ø)
python-3.13 100.00% <ø> (ø)
python-3.14 100.00% <ø> (ø)
windows-python-3.10 100.00% <ø> (ø)
windows-python-3.11 97.90% <ø> (ø)
windows-python-3.12 100.00% <ø> (ø)
windows-python-3.13 100.00% <ø> (ø)
windows-python-3.14 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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

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.

2 participants