Skip to content

[fix] Normalized GitHub release descriptions - #761

Open
nemesifier wants to merge 2 commits into
masterfrom
release-body-wrapping
Open

[fix] Normalized GitHub release descriptions#761
nemesifier wants to merge 2 commits into
masterfrom
release-body-wrapping

Conversation

@nemesifier

Copy link
Copy Markdown
Member

Checklist

Reference to Existing Issue

N/A

Description of Changes

  • Normalizes GitHub release descriptions with Pandoc using unwrapped GFM paragraphs.
  • Preserves the committed changelog formatting and covers Markdown and reStructuredText release paths.

Screenshot

N/A

@nemesifier nemesifier added the python Pull requests that update Python code label Sep 5, 2026
@nemesifier nemesifier self-assigned this Sep 5, 2026
@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Team

Run ID: 37be2749-006f-48a6-a3fa-5940b7eb57a9

📥 Commits

Reviewing files that changed from the base of the PR and between c480966 and 90a90f4.

📒 Files selected for processing (5)
  • docs/developer/releaser-tool.rst
  • openwisp_utils/releaser/release.py
  • openwisp_utils/releaser/tests/test_release.py
  • openwisp_utils/releaser/tests/test_utils.py
  • openwisp_utils/releaser/utils.py

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

📜 Recent review details
⏰ Context from checks skipped due to timeout. (14)
  • GitHub Check: Python==3.13 | django~=5.1.0
  • GitHub Check: Python==3.12 | django~=5.1.0
  • GitHub Check: Python==3.12 | django~=5.2.0
  • GitHub Check: Python==3.12 | django~=5.0.0
  • GitHub Check: Python==3.11 | django~=5.2.0
  • GitHub Check: Python==3.11 | django~=5.1.0
  • GitHub Check: Python==3.11 | django~=4.2.0
  • GitHub Check: Python==3.13 | django~=5.2.0
  • GitHub Check: Python==3.10 | django~=5.2.0
  • GitHub Check: Python==3.10 | django~=5.0.0
  • GitHub Check: Python==3.11 | django~=5.0.0
  • GitHub Check: Python==3.12 | django~=4.2.0
  • GitHub Check: Python==3.10 | django~=5.1.0
  • GitHub Check: Python==3.10 | django~=4.2.0
🧰 Additional context used
📓 Path-based instructions (3)
Verify that documentation remains consistent with the implemented behavior and does not reference deprecated or removed functionality.

⚙️ CodeRabbit configuration file

Files:

  • docs/developer/releaser-tool.rst
Ensure tests cover relevant success, error, boundary, and unusual input scenarios.

⚙️ CodeRabbit configuration file

Files:

  • openwisp_utils/releaser/tests/test_utils.py
  • openwisp_utils/releaser/tests/test_release.py
Flag potential security vulnerabilities Flag obvious performance regressions, such as heavy loops, repeated I/O, or unoptimized queries Flag unused or redundant code Flag outdated or incorrect comments/docstrings Ensure new code handles err...

⚙️ CodeRabbit configuration file

Files:

  • openwisp_utils/releaser/utils.py
  • docs/developer/releaser-tool.rst
  • openwisp_utils/releaser/release.py
  • openwisp_utils/releaser/tests/test_utils.py
  • openwisp_utils/releaser/tests/test_release.py
🪛 ast-grep (0.45.2)
openwisp_utils/releaser/tests/test_utils.py

[info] 131-131: no timeout was given on call to external resource
Context: patch("openwisp_utils.releaser.utils.subprocess.run")
Note: [CWE-1088] Synchronous Access of Remote Resource without Timeout.

(requests-timeout)


📝 Walkthrough

Walkthrough

The releaser adds normalize_markdown, which converts GitHub-Flavored Markdown with paragraph wrapping disabled. The release workflow applies this function to generated release descriptions before GitHub release creation. Tests cover Markdown and reStructuredText changelogs, paragraph unwrapping, nested lists, block quotes, links, and fenced code blocks. Documentation states that normalization does not modify the changelog file.

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

Merge Risk: ⚪ Minimal · up to 90a90

GitHub release descriptions are normalized to unwrapped GitHub-Flavored Markdown while changelog files remain unchanged. The covered Markdown and reStructuredText release paths indicate no current merge-blocking risk.


Caution

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

  • Ignore

❌ Failed checks (1 error)

Check name Status Explanation Resolution
Ui Changes, Regression Test, Docs ❌ Error The PR changes the body sent to GitHub releases. GitHub renders this body in an end-user-facing release page, so the UI condition applies. The description marks Screenshot as N/A and includes no befor… Add before-and-after screenshots or a screen recording to the PR description that shows the GitHub release description before and after normalization.
✅ Passed checks (4 passed)
Check name Status Explanation
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.
Title check ✅ Passed The title uses the required [fix] prefix and clearly describes the normalization of GitHub release descriptions.
Description check ✅ Passed The description includes all required sections, explains the changes, documents test coverage, and notes the documentation update. The issue reference and manual testing items are marked N/A, which is…
Full details: Ui Changes, Regression Test, Docs

Explanation

The PR changes the body sent to GitHub releases. GitHub renders this body in an end-user-facing release page, so the UI condition applies. The description marks Screenshot as N/A and includes no before-and-after screenshots or screen recording. The PR does add regression tests and updates the releaser documentation, so those conditions pass.

  • Fix all pre-merge checks with AI

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

@coveralls

Copy link
Copy Markdown

Coverage Status

coverage: 97.649% (+0.01%) from 97.636% — release-body-wrapping into master

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-review bug enhancement python Pull requests that update Python code

Projects

Development

Successfully merging this pull request may close these issues.

2 participants