-
Notifications
You must be signed in to change notification settings - Fork 4
RU-T39 Changelog updates #177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughThe React Native CI/CD workflow is updated to clean release notes extraction by removing CodeRabbit-generated summary sections and refactors the Changerawr API payload structure from flat scalar fields to a nested JSON schema with content, title, and tags properties. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✨ 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/react-native-cicd.yml(2 hunks)
🔇 Additional comments (2)
.github/workflows/react-native-cicd.yml (2)
304-321: Clean CodeRabbit summary removal before extracting release notes — LGTM.The awk-based filtering properly removes the "## Summary by CodeRabbit" section and its content until the next header. The cleaned body is used consistently for both the targeted release notes extraction and the fallback, preventing CodeRabbit summary text from leaking into the final notes.
391-458: Verify Changerawr API compatibility with the new nested payload schema.The refactored payload structure replaces flat fields (version, releaseNotes, platform, buildNumber, commitSha, buildUrl, timestamp) with a nested schema (version, title, content, tags array). Additionally, the timestamp field has been removed entirely. Confirm that:
- The Changerawr API endpoint accepts the new nested structure
- The timestamp removal does not break downstream processing or archival requirements
- The API correctly maps the
tagsarray withid/namepairsIf you have access to Changerawr API documentation, please verify that the new schema is accepted. Alternatively, run a test build after fixes to confirm the API call succeeds and the release notes appear correctly on the backend.
| '{ | ||
| version: $version, | ||
| releaseNotes: $notes, | ||
| platform: $platform, | ||
| buildNumber: $buildNumber, | ||
| commitSha: $commitSha, | ||
| buildUrl: $buildUrl, | ||
| timestamp: now | todate | ||
| "version": $version, | ||
| "title": "Release v" + $version, | ||
| "content": "$notes", | ||
| "tags": [ | ||
| { | ||
| "id": "platform", | ||
| "name": "$platform" | ||
| }, | ||
| { | ||
| "id": "buildNumber", | ||
| "name": "$buildNumber" | ||
| }, | ||
| { | ||
| "id": "commitSha", | ||
| "name": "$commitSha" | ||
| }, | ||
| { | ||
| "id": "buildUrl", | ||
| "name": "$buildUrl" | ||
| } | ||
| ] | ||
| }') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Critical: Fix jq variable interpolation in JSON payload construction.
The jq filter uses quoted variable references ("$variable") within string literals, which treats them as literal strings rather than interpolating the actual values. This will cause the payload to contain literal $notes, $platform, etc. instead of their actual values.
Apply this diff to fix the variable references:
'{
- "version": $version,
- "title": "Release v" + $version,
- "content": "$notes",
+ "version": $version,
+ "title": ("Release v" + $version),
+ "content": $notes,
"tags": [
{
"id": "platform",
- "name": "$platform"
+ "name": $platform
},
{
"id": "buildNumber",
- "name": "$buildNumber"
+ "name": $buildNumber
},
{
"id": "commitSha",
- "name": "$commitSha"
+ "name": $commitSha
},
{
"id": "buildUrl",
- "name": "$buildUrl"
+ "name": $buildUrl
}
]
}')📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| '{ | |
| version: $version, | |
| releaseNotes: $notes, | |
| platform: $platform, | |
| buildNumber: $buildNumber, | |
| commitSha: $commitSha, | |
| buildUrl: $buildUrl, | |
| timestamp: now | todate | |
| "version": $version, | |
| "title": "Release v" + $version, | |
| "content": "$notes", | |
| "tags": [ | |
| { | |
| "id": "platform", | |
| "name": "$platform" | |
| }, | |
| { | |
| "id": "buildNumber", | |
| "name": "$buildNumber" | |
| }, | |
| { | |
| "id": "commitSha", | |
| "name": "$commitSha" | |
| }, | |
| { | |
| "id": "buildUrl", | |
| "name": "$buildUrl" | |
| } | |
| ] | |
| }') | |
| '{ | |
| "version": $version, | |
| "title": ("Release v" + $version), | |
| "content": $notes, | |
| "tags": [ | |
| { | |
| "id": "platform", | |
| "name": $platform | |
| }, | |
| { | |
| "id": "buildNumber", | |
| "name": $buildNumber | |
| }, | |
| { | |
| "id": "commitSha", | |
| "name": $commitSha | |
| }, | |
| { | |
| "id": "buildUrl", | |
| "name": $buildUrl | |
| } | |
| ] | |
| }') |
🤖 Prompt for AI Agents
.github/workflows/react-native-cicd.yml around lines 414 to 436: the jq filter
currently wraps variables in quotes inside JSON strings so they become literal
names (e.g. "$notes"); fix by passing each CI variable into jq with --arg (for
string values) or --argjson (for numeric/JSON values like version/buildNumber if
appropriate) and then reference them unquoted in the jq expression (use $notes,
$platform, $buildNumber, $commitSha, $buildUrl, $version) so jq interpolates the
actual values into the JSON payload.
|
Approve |
There was a problem hiding this 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.
Summary by CodeRabbit