Add release.yml for PR categorization#97
Conversation
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
📝 WalkthroughSummary by CodeRabbit
WalkthroughAdded Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes 🚥 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)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
.github/release.yml (1)
12-27: Consider reordering categories to follow conventional changelog structure.The current category order places "Documentation" before "New Features" and "Improvements" last. A more conventional ordering would be:
- 🚨 Breaking Changes
- 🚀 New Features
- 🛠️ Improvements
- 🐛 Bug Fixes
- 📖 Documentation
This ordering prioritizes user-facing changes (features, improvements, fixes) before documentation updates.
📝 Proposed reordering
categories: - title: 🚨 Breaking Changes labels: - breaking - - title: 🐛 Bug Fixes + - title: 🚀 New Features labels: - - bug - - title: 📖 Documentation + - feature request + - title: 🛠️ Improvements labels: - - doc - - title: 🚀 New Features + - improvement + - title: 🐛 Bug Fixes labels: - - feature request - - title: 🛠️ Improvements + - bug + - title: 📖 Documentation labels: - - improvement + - doc🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/release.yml around lines 12 - 27, Reorder the categories array in .github/release.yml so the titles appear in conventional changelog order: "🚨 Breaking Changes", then "🚀 New Features", then "🛠️ Improvements", then "🐛 Bug Fixes", and finally "📖 Documentation"; update the sequence of the objects whose title fields are "🚨 Breaking Changes", "🚀 New Features", "🛠️ Improvements", "🐛 Bug Fixes", and "📖 Documentation" accordingly so labels remain attached to their respective category objects.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/release.yml:
- Around line 4-11: The release config references labels that don't exist:
'ignore-for-release' and 'dependencies' under changelog.exclude.labels and the
category labels 'breaking', 'bug', 'doc', 'feature request', 'improvement' used
in categories; update the repository to either add these labels to
.github/labeler.yml (creating entries for 'ignore-for-release', 'dependencies',
and each category label with the desired patterns) or remove/replace these label
names from .github/release.yml so they match the existing labels in
.github/labeler.yml or the repository settings; ensure the label names in
release.yml exactly match the unique label identifiers you add (e.g.,
'ignore-for-release', 'dependencies', 'breaking', 'bug', 'doc', 'feature
request', 'improvement') so release notes generation works.
---
Nitpick comments:
In @.github/release.yml:
- Around line 12-27: Reorder the categories array in .github/release.yml so the
titles appear in conventional changelog order: "🚨 Breaking Changes", then "🚀
New Features", then "🛠️ Improvements", then "🐛 Bug Fixes", and finally "📖
Documentation"; update the sequence of the objects whose title fields are "🚨
Breaking Changes", "🚀 New Features", "🛠️ Improvements", "🐛 Bug Fixes", and
"📖 Documentation" accordingly so labels remain attached to their respective
category objects.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 30123558-5733-419e-8f59-ece5d8b40718
📒 Files selected for processing (1)
.github/release.yml
| changelog: | ||
| exclude: | ||
| labels: | ||
| - ignore-for-release | ||
| - dependencies | ||
| authors: | ||
| - rapids-bot[bot] | ||
| - dependabot[bot] |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Check if the configured labels exist in the repository
# Fetch all labels from the repository
gh label list --json name --jq '.[].name' | sort > /tmp/repo_labels.txt
# Check for excluded labels
echo "Checking excluded labels:"
for label in "ignore-for-release" "dependencies"; do
if grep -Fxq "$label" /tmp/repo_labels.txt; then
echo "✓ Label '$label' exists"
else
echo "✗ Label '$label' NOT FOUND"
fi
done
# Check for category labels
echo -e "\nChecking category labels:"
for label in "breaking" "bug" "doc" "feature request" "improvement"; do
if grep -Fxq "$label" /tmp/repo_labels.txt; then
echo "✓ Label '$label' exists"
else
echo "✗ Label '$label' NOT FOUND"
fi
doneRepository: rapidsai/nvforest
Length of output: 446
🏁 Script executed:
#!/bin/bash
# Search for label definitions and references in the repository
echo "=== Searching for label configuration files ==="
find .github -type f \( -name "*.json" -o -name "*.yaml" -o -name "*.yml" \) | head -20
echo -e "\n=== Checking for label definitions in release.yml and adjacent files ==="
ls -la .github/ | grep -i label
echo -e "\n=== Searching for references to 'ignore-for-release' label ==="
rg "ignore-for-release" --type yaml --type json --type md
echo -e "\n=== Searching for references to 'dependencies' label ==="
rg "dependencies" .github/ --type yaml --type json
echo -e "\n=== Contents of .github directory ==="
ls -la .github/Repository: rapidsai/nvforest
Length of output: 1125
🏁 Script executed:
#!/bin/bash
# Examine labeler.yml and full release.yml
echo "=== Contents of .github/labeler.yml ==="
cat -n .github/labeler.yml
echo -e "\n=== Contents of .github/release.yml ==="
cat -n .github/release.yml
echo -e "\n=== Search for all label references in workflows ==="
rg "labels?" .github/workflows/ --type yaml -A 2 -B 2 | head -100Repository: rapidsai/nvforest
Length of output: 2953
The excluded labels ignore-for-release and dependencies are not defined in the repository.
The ignore-for-release label is never referenced anywhere in the codebase and does not exist. The dependencies label is not configured in .github/labeler.yml and will only work if auto-created by dependabot. Additionally, the category labels referenced in the categories section (breaking, bug, doc, feature request, improvement) are also not defined in .github/labeler.yml, which means the release notes configuration will not function as intended. Either define these labels in .github/labeler.yml or ensure they are created manually in the repository settings.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.github/release.yml around lines 4 - 11, The release config references
labels that don't exist: 'ignore-for-release' and 'dependencies' under
changelog.exclude.labels and the category labels 'breaking', 'bug', 'doc',
'feature request', 'improvement' used in categories; update the repository to
either add these labels to .github/labeler.yml (creating entries for
'ignore-for-release', 'dependencies', and each category label with the desired
patterns) or remove/replace these label names from .github/release.yml so they
match the existing labels in .github/labeler.yml or the repository settings;
ensure the label names in release.yml exactly match the unique label identifiers
you add (e.g., 'ignore-for-release', 'dependencies', 'breaking', 'bug', 'doc',
'feature request', 'improvement') so release notes generation works.
|
This is needed for changelogs and Github releases. I will admin-merge |
Add GitHub release notes configuration to categorize PRs in auto-generated changelogs.