Skip to content

Conversation

@ucswift
Copy link
Member

@ucswift ucswift commented Nov 2, 2025

Summary by CodeRabbit

  • Chores
    • Improved internal CI/CD workflow reliability for release notes processing and formatting.

@coderabbitai
Copy link

coderabbitai bot commented Nov 2, 2025

Walkthrough

The PR updates the React Native CI workflow to improve release notes handling. It replaces variable interpolation with jq --rawfile for JSON payload construction, changes file reading from cat to shell redirection, strips auto-generated comment lines from PR bodies, and applies these adjustments consistently across both GitHub release and Changerawr steps.

Changes

Cohort / File(s) Summary
CI workflow release notes handling
​.github/workflows/react-native-cicd.yml
Strip auto-generated HTML comment markers from PR body during release notes extraction; read RELEASE_NOTES.md via shell redirection instead of cat to preserve Markdown formatting; use jq --rawfile for multiline notes in JSON payload construction instead of variable interpolation; apply the same improvements to both GitHub and Changerawr release steps

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

  • Verify grep pattern correctly excludes the HTML comment marker without breaking other content
  • Confirm jq --rawfile properly handles multiline Markdown and produces valid JSON
  • Test that both GitHub release and Changerawr steps produce correctly formatted payloads

Possibly related PRs

  • Unit#167: Modifies the same CI workflow's release notes generation, including header/version handling alongside release notes processing
  • Unit#157: Changes the same workflow's release creation step with adjustments to how RELEASE_NOTES.md is read and embedded using bodyFile and quoting
  • Unit#178: Updates JSON payload construction in the workflow to properly handle notes and field embedding via jq

Poem

🐰 A rabbit's ode to markdown flow:

Notes now flow through jq's gentle stream,
Multiline markdown—a developer's dream,
Comments stripped clean, formatting blessed,
Release notes handled at their very best! 📝✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title "RU-T39 Working on Changerawr build step" is partially related to the changeset. It refers to a real aspect of the changes—the PR does include adjustments to the Changerawr release step as mentioned in the summary. However, the title uses vague language ("Working on") and focuses narrowly on just the Changerawr portion, when the actual main changes span broader improvements to release notes extraction, markdown formatting preservation, and JSON payload construction across the CI workflow. The title would be clearer if it captured the substantive improvements being made rather than the generic framing.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch develop

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 and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
.github/workflows/react-native-cicd.yml (1)

404-404: Consider removing the unused RELEASE_NOTES variable.

Line 404 assigns the file content to RELEASE_NOTES, but the Changerawr step uses jq --rawfile to read the file directly (line 410), so this variable is never referenced. You can safely remove this line for clarity.

-          # Read release notes and preserve markdown formatting
-          RELEASE_NOTES=$(<RELEASE_NOTES.md)
           VERSION="7.${{ github.run_number }}"
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e173443 and 253e7a3.

📒 Files selected for processing (1)
  • .github/workflows/react-native-cicd.yml (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: test
🔇 Additional comments (2)
.github/workflows/react-native-cicd.yml (2)

305-307: Correct approach to strip auto-generated comment line.

Adding the grep exclusion to filter out the HTML comment marker is the right way to clean up CodeRabbit-generated content from PR bodies. The pattern is specific and won't inadvertently remove other content.


407-418: Good use of jq --rawfile for multiline markdown handling.

Using --rawfile notes RELEASE_NOTES.md instead of variable interpolation is the correct approach to safely embed multiline Markdown content into JSON. This avoids escaping issues and malformed JSON when content includes special characters or newlines. The payload construction properly references $notes on line 418.

@ucswift
Copy link
Member Author

ucswift commented Nov 2, 2025

Approve

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

This PR is approved.

@ucswift ucswift merged commit ce71993 into master Nov 2, 2025
14 checks passed
@coderabbitai coderabbitai bot mentioned this pull request Nov 2, 2025
@coderabbitai coderabbitai bot mentioned this pull request Jan 16, 2026
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