fix(ci): scope docs-deploy to the docs dependency group - #104
Merged
Conversation
uv run with no --group flag resolves the full 'dev' group by default, which pulls in the 'types' group -> mypy[reports] -> lxml. lxml==6.0.0 has no prebuilt wheel for the runner's Python and fails to build from source on ubuntu-latest, breaking every deploy of "Publish docs via GitHub Pages" since at least 2025-10-17. The docs-deploy job only needs mkdocs and its plugins, so scope the install to the docs group explicitly. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Member
Author
|
Thanks clanker |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The
Publish docs via GitHub Pagesworkflow (.github/workflows/deploy-docs.yml) has been failing on every push tomainsince at least 2025-10-17, including every release from v0.7.3 through v0.8.0 — 100% consistent, not flaky.Root cause
The workflow runs
uv run mkdocs gh-deploy --force --clean --verbosewith no--group/--only-groupflag.pyproject.tomldefinesdependency-groups.dev(bundlingci,docs,lint,test,types), anduv runresolves thedevgroup by default — not just thedocsgroup the job actually needs.The
typesgroup pulls inmypy[install-types, faster-cache, reports], whosereportsextra depends onlxml.lxml==6.0.0has no prebuilt wheel for the resolved Python version onubuntu-latest, souvfalls back to building it from source, which fails:Fix
Scope the deploy step to only the
docsdependency group, which is allmkdocs gh-deployneeds:Verification
Ran
uv run --only-group docs mkdocs --versionlocally in a clean venv: resolves and installs 36 packages with nolxml/mypyin the environment, confirming thetypesgroup (and itslxmlbuild) is no longer pulled in.Will confirm post-merge that the next push to
mainproduces a greenPublish docs via GitHub Pagesrun and that the Pages site updates accordingly.🤖 Generated with Claude Code