Skip to content

fix(cumulusci): pin docutils to 0.20.1 for rst2ansi compatibility - #82

Merged
UnstoppableMango merged 2 commits into
mainfrom
cci-fixes
Sep 8, 2026
Merged

fix(cumulusci): pin docutils to 0.20.1 for rst2ansi compatibility#82
UnstoppableMango merged 2 commits into
mainfrom
cci-fixes

Conversation

@UnstoppableMango

@UnstoppableMango UnstoppableMango commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

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.

Summary by CodeRabbit

  • Chores
    • Updated package dependency versions to improve compatibility and reproducibility.
    • Pinned the documentation processing dependency to version 0.20.1.

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.
Copilot AI lite review requested due to automatic review settings September 8, 2026 18:25
@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

Warning

Review limit reached

Next included review available in 52 minutes.

Check out review usage here.

View limit details

Limit 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.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 479ed8b0-58f8-42c8-82c9-cd70e3c17ea4

📥 Commits

Reviewing files that changed from the base of the PR and between 24544da and de98169.

📒 Files selected for processing (1)
  • pkgs/cumulusci/default.nix

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 1db55ca7-806c-4767-b6d1-55b4cd6a992c

📥 Commits

Reviewing files that changed from the base of the PR and between 26e4b78 and 24544da.

📒 Files selected for processing (1)
  • pkgs/cumulusci/default.nix

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The CumulusCI package now pins docutils to version 0.20.1 and configures rst2ansi to use that pinned dependency.

Changes

CumulusCI dependency pinning

Layer / File(s) Summary
Define and wire dependency overrides
pkgs/cumulusci/default.nix
Adds a pinned docutilsOld package fetched with fetchPypi, creates rst2ansiOld with the pinned docutils, and updates the package dependencies to use both overrides.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 24544

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)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: pinning docutils to version 0.20.1 to maintain rst2ansi compatibility.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cci-fixes

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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 docutils 0.20.1 override (docutilsOld) fetched from PyPI.
  • Override rst2ansi to use the pinned docutilsOld, and switch cumulusci dependencies 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.

Comment thread pkgs/cumulusci/default.nix
@UnstoppableMango
UnstoppableMango merged commit aec633c into main Sep 8, 2026
6 of 7 checks passed
@UnstoppableMango
UnstoppableMango deleted the cci-fixes branch September 8, 2026 18:35
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