🔧 Replace rye with tox and add sphinx-needs version matrix#65
Merged
chrisjsewell merged 6 commits intomainfrom Apr 27, 2026
Merged
🔧 Replace rye with tox and add sphinx-needs version matrix#65chrisjsewell merged 6 commits intomainfrom
chrisjsewell merged 6 commits intomainfrom
Conversation
Rye was only used for script shortcuts and dev dependency management,
duplicating what tox already provides. Consolidating on tox as the
single task runner simplifies onboarding (one tool to install),
removes the custom setup_rye GitHub Action, and makes CI consistent
with local development workflows.
The test matrix now includes sphinx-needs as a third axis
(py{312,313,314}-sphinx{7,8,9}-needs{5,6,7,8}), enabling detection
of compatibility issues across the full support range. CI runs the
boundary combinations — minimal (py312-sphinx7-needs5) and maximal
(py314-sphinx8-needs8) — to catch regressions without excessive
job count.
- Remove [tool.rye] and [tool.rye.scripts] from pyproject.toml
- Delete .github/actions/setup_rye/ composite action
- Update CI workflows (ci, coverage, gh_pages) to use tox + tox-uv
- Add sphinx-needs version factors to tox.ini test environments
- Add tox demo environment replacing rye demo:clean chain
- Update AGENTS.md, contributing.rst, and demo README
…aps error messages in Rich panels whose line breaks depend on terminal width. In CI environments with narrow terminals, long assertion substrings get split across lines by box-drawing characters, causing test_analyse_config_negative (and similar) to fail. Add _normalize_output() helper that strips Rich panel formatting and collapses whitespace before substring matching. Applied to test_analyse_config_negative, test_analyse_project_negative, and test_write_rst_negative. Typer wraps error messages in Rich panels whose line breaks depend on terminal width. In CI environments with narrow terminals, long assertion substrings get split across lines by box-drawing characters, causing test_analyse_config_negative (and similar) to fail. Add _normalize_output() helper that strips Rich panel formatting and collapses whitespace before substring matching. Applied to test_analyse_config_negative, test_analyse_project_negative, and test_write_rst_negative.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #65 +/- ##
==========================================
+ Coverage 90.04% 90.06% +0.02%
==========================================
Files 29 29
Lines 2621 2628 +7
Branches 306 306
==========================================
+ Hits 2360 2367 +7
Misses 165 165
Partials 96 96 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
patdhlk
requested changes
Apr 27, 2026
Contributor
patdhlk
left a comment
There was a problem hiding this comment.
Thanks for the PR - only two minor findings
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.
Rye was only used for script shortcuts and dev dependency management,
duplicating what tox already provides. Consolidating on tox as the
single task runner simplifies onboarding (one tool to install),
removes the custom setup_rye GitHub Action, and makes CI consistent
with local development workflows.
The test matrix now includes sphinx-needs as a third axis
(py{312,313,314}-sphinx{7,8,9}-needs{5,6,7,8}), enabling detection
of compatibility issues across the full support range. CI runs the
boundary combinations — minimal (py312-sphinx7-needs5) and maximal
(py314-sphinx8-needs8) — to catch regressions without excessive
job count.