fix: release node warnings#101
Conversation
📝 WalkthroughWalkthroughThis PR modernizes repository governance and CI/CD practices. It introduces formal repository standards, updates GitHub Actions to Node 24-compatible versions with .nvmrc-based Node selection, enhances release publishing with a fallback to the [Unreleased] changelog section, documents a new release (1.16.0), and establishes changelog discipline conventions. ChangesRelease Process Hygiene and Workflow Modernization
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 inconclusive)
✅ 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 |
🤖 Augment PR SummarySummary: This PR updates GitHub Actions workflows to reduce Node runtime deprecation warnings and improves release note generation. Changes:
🤖 Was this summary useful? React with 👍 or 👎 |
| } | ||
| found { print } | ||
| ' CHANGELOG.md) | ||
| if [ -z "$BODY" ]; then |
There was a problem hiding this comment.
.github/workflows/publish.yaml:161: -z "$BODY" only detects an empty string, so a changelog section that contains only blank lines will be treated as “present” and can produce a GitHub Release with effectively empty notes (and skip the intended fallback behavior). Consider treating whitespace-only output as missing as well.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/publish.yaml (1)
153-177:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winSeparator-only fallback can be misdetected as valid release notes.
If extracted notes contain only a markdown rule (
---) plus blank lines,has_release_notesstill returns true, and the release body becomes effectively empty/noisy. Consider ignoring separator-only lines when determining note presence.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/publish.yaml around lines 153 - 177, The has_release_notes check currently treats a BODY containing only markdown rules like '---' and blank lines as valid; update the logic used to validate BODY (the has_release_notes function and/or the point where BODY is evaluated after the awk extracts) to ignore lines that are empty or consist solely of markdown separators (e.g. lines matching ^[[:space:]]*[-]{3,}[[:space:]]*$) before deciding presence of notes, so only BODY with at least one non-blank, non-separator line returns true; keep the existing awk extraction into BODY but apply this filtering test against BODY before the if ! has_release_notes "$BODY" checks.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In @.github/workflows/publish.yaml:
- Around line 153-177: The has_release_notes check currently treats a BODY
containing only markdown rules like '---' and blank lines as valid; update the
logic used to validate BODY (the has_release_notes function and/or the point
where BODY is evaluated after the awk extracts) to ignore lines that are empty
or consist solely of markdown separators (e.g. lines matching
^[[:space:]]*[-]{3,}[[:space:]]*$) before deciding presence of notes, so only
BODY with at least one non-blank, non-separator line returns true; keep the
existing awk extraction into BODY but apply this filtering test against BODY
before the if ! has_release_notes "$BODY" checks.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: d08960a9-6f37-43c2-9a18-b2d2f254dcd1
📒 Files selected for processing (5)
.github/workflows/docs.yaml.github/workflows/publish.yaml.github/workflows/quality.yamlAGENTS.mdCHANGELOG.md
No description provided.