fix(cumulusci): pin docutils to 0.20.1 for rst2ansi compatibility - #82
Conversation
rst2ansi (last released 2018) imports `docutils.utils.error_reporting` which was removed in docutils 0.21. Pin a scoped old docutils version and override rst2ansi to use it, avoiding a full rebuild of all packages transitively depending on docutils.
|
Warning Review limit reachedNext included review available in 52 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe CumulusCI package now pins ChangesCumulusCI dependency pinning
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This pins docutils 0.20.1 for rst2ansi compatibility and uses the compatible overrides in CumulusCI’s dependencies. No merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🟡 Changes recommended
The pinned docutils override likely needs an explicit switch away from the current pyproject/flit build to legacy setuptools for 0.20.1 to build successfully.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR updates the cumulusci Nix derivation to avoid a runtime import error in rst2ansi caused by docutils ≥ 0.21 removing docutils.utils.error_reporting, by pinning docutils to 0.20.1 and overriding rst2ansi to use that pinned build within the cumulusci closure.
Changes:
- Add a locally-scoped
docutils0.20.1 override (docutilsOld) fetched from PyPI. - Override
rst2ansito use the pinneddocutilsOld, and switchcumuluscidependencies to the scoped overrides.
File summaries
| File | Description |
|---|---|
| pkgs/cumulusci/default.nix | Pins docutils to 0.20.1 for rst2ansi compatibility and wires both into cumulusci’s dependencies. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
rst2ansi (last released 2018) imports
docutils.utils.error_reportingwhich was removed in docutils 0.21. Pin a scoped old docutils version
and override rst2ansi to use it, avoiding a full rebuild of all
packages transitively depending on docutils.
Summary by CodeRabbit