Skip to content

Commit 4b0c84f

Browse files
rustyconoverclaude
andcommitted
ci: run pydoclint isolated via uvx to dodge docstring_parser collision
pydoclint needs docstring-parser-fork, which shares the docstring_parser import namespace with the plain docstring-parser pulled in by vgi-rpc. Co-installing both is an install-order-dependent collision that broke the Lint job on the runner. Run pydoclint in its own uvx env instead. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 817c0b8 commit 4b0c84f

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,13 @@ jobs:
7171
- name: Type check (mypy)
7272
run: uv run --no-sync mypy vgi_news/ news_worker.py
7373

74+
# Run pydoclint isolated via uvx: it depends on `docstring-parser-fork`,
75+
# which shares the `docstring_parser` import namespace with the plain
76+
# `docstring-parser` pulled in transitively by vgi-rpc. Co-installing both
77+
# in one env is an install-order-dependent collision (the plain package can
78+
# win and break pydoclint's imports), so give pydoclint its own env.
7479
- name: Docstring lint (pydoclint)
75-
run: uv run --no-sync pydoclint vgi_news/ news_worker.py
80+
run: uvx --from "pydoclint>=0.5" pydoclint vgi_news/ news_worker.py
7681

7782
# Resolve the latest published haybarn release once, so the whole matrix tests
7883
# the same version (and we never hardcode/pin it).

0 commit comments

Comments
 (0)