Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughBumps release to 0.12.1, updates CHANGELOG and package version, adds Rich unicode data for Nuitka builds, inserts/adjusts CI steps, and updates many asciicast transcripts and feature test expectations to reference 0.12.1. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 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.
Actionable comments posted: 1
🧹 Nitpick comments (2)
pyproject.toml (1)
206-206: Core fix looks correct –include-packageis the right Nuitka directive here.
rich==14.3.3exists on PyPI.rich._unicode_datais a Python subpackage whose modules contain Unicode character-width tables as Python code (not raw data files), soinclude-packageis the right choice;include-package-datahandles non-Python resource files and would not help here.If imports are invisible to Nuitka (e.g. dynamically created),
--include-moduleor--include-packageshould be used — consistent with this fix.One optional nit: consider adding an inline comment (mirroring the one on line 207) to explain why Nuitka can't auto-discover this subpackage:
💬 Suggested comment
-include-package="rich._unicode_data" +include-package="rich._unicode_data" # Explicitly add package — Nuitka doesn't auto-discover the dynamic import used for Unicode width data🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@pyproject.toml` at line 206, Add an inline comment next to the include-package="rich._unicode_data" directive explaining that rich._unicode_data is a Python subpackage generated as code (contains Unicode width tables) and is not auto-discovered by Nuitka, mirroring the style of the existing comment on the following line (line 207) so future maintainers know why --include-package is required instead of include-package-data or relying on auto-detection.features/report-sbom.feature (1)
215-217:cyclonedx-python-libversion pinned in test expectation will require a manual update on every library upgrade.The hardcoded
"version": "11.6.0"forcyclonedx-python-libin the expected SBOM output means the test will silently break whenever the library is bumped. Consider extracting the version from the installed package in a step-definition helper, or at a minimum adding a comment here to flag that this needs updating on each dependency upgrade.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@features/report-sbom.feature` around lines 215 - 217, The test currently hardcodes "version": "11.6.0" for cyclonedx-python-lib in the expected SBOM output which will break on upgrades; update the step definition that builds the expected SBOM to dynamically read the installed cyclonedx-python-lib version (e.g., via importlib.metadata.version("cyclonedx-python-lib") or pkg_resources.get_distribution("cyclonedx-python-lib").version) and inject that value into the expected JSON (replace the literal "11.6.0" in the expectation), or if you cannot change the step code now, add a clear comment next to the "cyclonedx-python-lib" entry in report-sbom.feature noting this version must be updated when the dependency is bumped.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@CHANGELOG.rst`:
- Line 1: Update the release date string "Release 0.12.1 (released 2026-02-24)"
in CHANGELOG.rst to match the actual tag/release date on PyPI (or confirm and
keep it if intended); locate that exact line and either change the date to
2026-02-23 if the PR date should be used, or verify the package release tag and
ensure the changelog matches the authoritative release date before merging.
---
Nitpick comments:
In `@features/report-sbom.feature`:
- Around line 215-217: The test currently hardcodes "version": "11.6.0" for
cyclonedx-python-lib in the expected SBOM output which will break on upgrades;
update the step definition that builds the expected SBOM to dynamically read the
installed cyclonedx-python-lib version (e.g., via
importlib.metadata.version("cyclonedx-python-lib") or
pkg_resources.get_distribution("cyclonedx-python-lib").version) and inject that
value into the expected JSON (replace the literal "11.6.0" in the expectation),
or if you cannot change the step code now, add a clear comment next to the
"cyclonedx-python-lib" entry in report-sbom.feature noting this version must be
updated when the dependency is bumped.
In `@pyproject.toml`:
- Line 206: Add an inline comment next to the
include-package="rich._unicode_data" directive explaining that
rich._unicode_data is a Python subpackage generated as code (contains Unicode
width tables) and is not auto-discovered by Nuitka, mirroring the style of the
existing comment on the following line (line 207) so future maintainers know why
--include-package is required instead of include-package-data or relying on
auto-detection.
ℹ️ Review info
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (48)
CHANGELOG.rstdfetch/__init__.pydoc/asciicasts/basic.castdoc/asciicasts/check-ci.castdoc/asciicasts/check.castdoc/asciicasts/diff.castdoc/asciicasts/environment.castdoc/asciicasts/format-patch.castdoc/asciicasts/freeze.castdoc/asciicasts/import.castdoc/asciicasts/init.castdoc/asciicasts/report.castdoc/asciicasts/sbom.castdoc/asciicasts/update-patch.castdoc/asciicasts/update.castdoc/asciicasts/validate.castdoc/contributing.rstdoc/installation.rstfeatures/check-git-repo.featurefeatures/check-specific-projects.featurefeatures/check-svn-repo.featurefeatures/checked-project-has-dependencies.featurefeatures/diff-in-git.featurefeatures/diff-in-svn.featurefeatures/fetch-checks-destination.featurefeatures/fetch-file-pattern-git.featurefeatures/fetch-file-pattern-svn.featurefeatures/fetch-git-repo.featurefeatures/fetch-single-file-git.featurefeatures/fetch-single-file-svn.featurefeatures/fetch-with-ignore-git.featurefeatures/fetch-with-ignore-svn.featurefeatures/guard-against-overwriting-git.featurefeatures/guard-against-overwriting-svn.featurefeatures/handle-invalid-metadata.featurefeatures/journey-basic-patching.featurefeatures/journey-basic-usage.featurefeatures/list-projects.featurefeatures/patch-after-fetch-git.featurefeatures/patch-after-fetch-svn.featurefeatures/patch-fuzzy-matching-git.featurefeatures/report-sbom.featurefeatures/suggest-project-name.featurefeatures/update-patch-in-git.featurefeatures/update-patch-in-svn.featurefeatures/updated-project-has-dependencies.featurefeatures/validate-manifest.featurepyproject.toml
4fd2485 to
d8017f5
Compare
d8017f5 to
3174ac6
Compare
There was a problem hiding this comment.
♻️ Duplicate comments (1)
CHANGELOG.rst (1)
1-1: Release date is now accurate.Today is 2026-02-24, so the date in the header matches. The previously flagged concern is no longer applicable.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@CHANGELOG.rst` at line 1, Remove the stale duplicate review note by resolving or deleting the duplicate comment and ensure the CHANGELOG.rst header "Release 0.12.1 (released 2026-02-24)" is the single authoritative release line; update the review thread/status so it is marked resolved and no duplicate comments remain referencing the same change.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@CHANGELOG.rst`:
- Line 1: Remove the stale duplicate review note by resolving or deleting the
duplicate comment and ensure the CHANGELOG.rst header "Release 0.12.1 (released
2026-02-24)" is the single authoritative release line; update the review
thread/status so it is marked resolved and no duplicate comments remain
referencing the same change.
ℹ️ Review info
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (48)
CHANGELOG.rstdfetch/__init__.pydoc/asciicasts/basic.castdoc/asciicasts/check-ci.castdoc/asciicasts/check.castdoc/asciicasts/diff.castdoc/asciicasts/environment.castdoc/asciicasts/format-patch.castdoc/asciicasts/freeze.castdoc/asciicasts/import.castdoc/asciicasts/init.castdoc/asciicasts/report.castdoc/asciicasts/sbom.castdoc/asciicasts/update-patch.castdoc/asciicasts/update.castdoc/asciicasts/validate.castdoc/contributing.rstdoc/installation.rstfeatures/check-git-repo.featurefeatures/check-specific-projects.featurefeatures/check-svn-repo.featurefeatures/checked-project-has-dependencies.featurefeatures/diff-in-git.featurefeatures/diff-in-svn.featurefeatures/fetch-checks-destination.featurefeatures/fetch-file-pattern-git.featurefeatures/fetch-file-pattern-svn.featurefeatures/fetch-git-repo.featurefeatures/fetch-single-file-git.featurefeatures/fetch-single-file-svn.featurefeatures/fetch-with-ignore-git.featurefeatures/fetch-with-ignore-svn.featurefeatures/guard-against-overwriting-git.featurefeatures/guard-against-overwriting-svn.featurefeatures/handle-invalid-metadata.featurefeatures/journey-basic-patching.featurefeatures/journey-basic-usage.featurefeatures/list-projects.featurefeatures/patch-after-fetch-git.featurefeatures/patch-after-fetch-svn.featurefeatures/patch-fuzzy-matching-git.featurefeatures/report-sbom.featurefeatures/suggest-project-name.featurefeatures/update-patch-in-git.featurefeatures/update-patch-in-svn.featurefeatures/updated-project-has-dependencies.featurefeatures/validate-manifest.featurepyproject.toml
✅ Files skipped from review due to trivial changes (1)
- doc/asciicasts/check-ci.cast
🚧 Files skipped from review as they are similar to previous changes (29)
- features/check-git-repo.feature
- features/patch-after-fetch-svn.feature
- doc/asciicasts/update-patch.cast
- features/fetch-file-pattern-git.feature
- features/check-svn-repo.feature
- features/fetch-with-ignore-svn.feature
- doc/asciicasts/freeze.cast
- features/fetch-file-pattern-svn.feature
- features/updated-project-has-dependencies.feature
- doc/installation.rst
- features/guard-against-overwriting-svn.feature
- features/handle-invalid-metadata.feature
- features/validate-manifest.feature
- features/report-sbom.feature
- doc/asciicasts/init.cast
- features/suggest-project-name.feature
- features/list-projects.feature
- dfetch/init.py
- doc/asciicasts/check.cast
- features/journey-basic-patching.feature
- features/check-specific-projects.feature
- pyproject.toml
- features/fetch-single-file-svn.feature
- doc/asciicasts/validate.cast
- features/fetch-single-file-git.feature
- features/update-patch-in-svn.feature
- features/fetch-checks-destination.feature
- features/patch-after-fetch-git.feature
- doc/asciicasts/report.cast
d0fc737 to
f06779a
Compare
f06779a to
2745c9d
Compare
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.github/workflows/run.yml (1)
45-46: Consider addingupdate-patchandformat-patchto therunjob as well.The two new steps are added to
test-cygwinbut therunjob (multi-platform × multi-Python matrix, lines 113–118) does not include them. Since the issue being fixed (#1014) is about standalone binary packaging, the Cygwin/binary jobs are the priority — but running these commands against the pip-installed package across all platforms/Python versions would give broader regression coverage.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/run.yml around lines 45 - 46, Add the two dfetch steps to the multi-platform "run" job so it mirrors test-cygwin: in the GitHub Actions workflow add "dfetch update-patch" and "dfetch format-patch" as steps in the run job (the matrix multi-platform × multi-Python job referenced as the run job) so the pip-installed package on all platforms/Python versions runs the same patch-update and formatting checks that were added to the test-cygwin job.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.github/workflows/run.yml:
- Around line 45-46: Add the two dfetch steps to the multi-platform "run" job so
it mirrors test-cygwin: in the GitHub Actions workflow add "dfetch update-patch"
and "dfetch format-patch" as steps in the run job (the matrix multi-platform ×
multi-Python job referenced as the run job) so the pip-installed package on all
platforms/Python versions runs the same patch-update and formatting checks that
were added to the test-cygwin job.
ℹ️ Review info
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (50)
.github/workflows/build.yml.github/workflows/run.ymlCHANGELOG.rstdfetch/__init__.pydoc/asciicasts/basic.castdoc/asciicasts/check-ci.castdoc/asciicasts/check.castdoc/asciicasts/diff.castdoc/asciicasts/environment.castdoc/asciicasts/format-patch.castdoc/asciicasts/freeze.castdoc/asciicasts/import.castdoc/asciicasts/init.castdoc/asciicasts/report.castdoc/asciicasts/sbom.castdoc/asciicasts/update-patch.castdoc/asciicasts/update.castdoc/asciicasts/validate.castdoc/contributing.rstdoc/installation.rstfeatures/check-git-repo.featurefeatures/check-specific-projects.featurefeatures/check-svn-repo.featurefeatures/checked-project-has-dependencies.featurefeatures/diff-in-git.featurefeatures/diff-in-svn.featurefeatures/fetch-checks-destination.featurefeatures/fetch-file-pattern-git.featurefeatures/fetch-file-pattern-svn.featurefeatures/fetch-git-repo.featurefeatures/fetch-single-file-git.featurefeatures/fetch-single-file-svn.featurefeatures/fetch-with-ignore-git.featurefeatures/fetch-with-ignore-svn.featurefeatures/guard-against-overwriting-git.featurefeatures/guard-against-overwriting-svn.featurefeatures/handle-invalid-metadata.featurefeatures/journey-basic-patching.featurefeatures/journey-basic-usage.featurefeatures/list-projects.featurefeatures/patch-after-fetch-git.featurefeatures/patch-after-fetch-svn.featurefeatures/patch-fuzzy-matching-git.featurefeatures/report-sbom.featurefeatures/suggest-project-name.featurefeatures/update-patch-in-git.featurefeatures/update-patch-in-svn.featurefeatures/updated-project-has-dependencies.featurefeatures/validate-manifest.featurepyproject.toml
🚧 Files skipped from review as they are similar to previous changes (37)
- features/fetch-single-file-git.feature
- features/journey-basic-usage.feature
- features/fetch-git-repo.feature
- features/validate-manifest.feature
- features/check-svn-repo.feature
- features/journey-basic-patching.feature
- features/suggest-project-name.feature
- features/patch-after-fetch-svn.feature
- doc/installation.rst
- dfetch/init.py
- features/fetch-with-ignore-svn.feature
- features/update-patch-in-svn.feature
- features/fetch-file-pattern-git.feature
- doc/asciicasts/sbom.cast
- features/patch-fuzzy-matching-git.feature
- doc/contributing.rst
- doc/asciicasts/check-ci.cast
- features/guard-against-overwriting-svn.feature
- features/fetch-file-pattern-svn.feature
- features/handle-invalid-metadata.feature
- doc/asciicasts/init.cast
- features/check-git-repo.feature
- features/list-projects.feature
- features/report-sbom.feature
- doc/asciicasts/update.cast
- doc/asciicasts/validate.cast
- features/patch-after-fetch-git.feature
- doc/asciicasts/freeze.cast
- CHANGELOG.rst
- features/fetch-with-ignore-git.feature
- features/fetch-single-file-svn.feature
- features/check-specific-projects.feature
- doc/asciicasts/basic.cast
- doc/asciicasts/import.cast
- features/diff-in-svn.feature
- doc/asciicasts/diff.cast
- features/fetch-checks-destination.feature
2745c9d to
0e815e2
Compare
0e815e2 to
9b1c9cf
Compare
There was a problem hiding this comment.
♻️ Duplicate comments (1)
.github/workflows/run.yml (1)
118-119: Same concern as thetest-cygwinjob above.The identical
dfetch update-patch+dfetch format-patchsequence is added here without the prerequisite git commit steps that appear inbuild.yml. The same validation applies.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/run.yml around lines 118 - 119, The workflow runs `dfetch update-patch` and `dfetch format-patch` without first committing changes, so add the same pre-commit steps used in the other job: configure git user.name and user.email, stage changes (e.g., `git add -A`) and create a commit (e.g., `git commit -m "ci: apply dfetch changes" || true`) before invoking `dfetch update-patch` and `dfetch format-patch` so the patch commands have a commit to operate on; mirror the exact commit-step sequence used in the `build` job to keep behavior consistent.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In @.github/workflows/run.yml:
- Around line 118-119: The workflow runs `dfetch update-patch` and `dfetch
format-patch` without first committing changes, so add the same pre-commit steps
used in the other job: configure git user.name and user.email, stage changes
(e.g., `git add -A`) and create a commit (e.g., `git commit -m "ci: apply dfetch
changes" || true`) before invoking `dfetch update-patch` and `dfetch
format-patch` so the patch commands have a commit to operate on; mirror the
exact commit-step sequence used in the `build` job to keep behavior consistent.
ℹ️ Review info
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.github/workflows/build.yml.github/workflows/run.yml
🚧 Files skipped from review as they are similar to previous changes (1)
- .github/workflows/build.yml
9b1c9cf to
e07e736
Compare
e07e736 to
c3e2704
Compare
Summary by CodeRabbit
Bug Fixes
Documentation
Tests
Chores
Miscellaneous