Skip to content

Add release.yml for PR categorization#97

Merged
AyodeAwe merged 1 commit intorapidsai:release/26.04from
AyodeAwe:add-release-yml
Apr 8, 2026
Merged

Add release.yml for PR categorization#97
AyodeAwe merged 1 commit intorapidsai:release/26.04from
AyodeAwe:add-release-yml

Conversation

@AyodeAwe
Copy link
Copy Markdown
Contributor

@AyodeAwe AyodeAwe commented Apr 8, 2026

Add GitHub release notes configuration to categorize PRs in auto-generated changelogs.

@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented Apr 8, 2026

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.

@AyodeAwe AyodeAwe added improvement Improves an existing functionality non-breaking Introduces a non-breaking change labels Apr 8, 2026
@AyodeAwe AyodeAwe marked this pull request as ready for review April 8, 2026 14:38
@AyodeAwe AyodeAwe requested a review from a team as a code owner April 8, 2026 14:38
@AyodeAwe AyodeAwe requested a review from jameslamb April 8, 2026 14:38
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 8, 2026

📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Updated release notes automation configuration to improve changelog organization and filtering.

Walkthrough

Added .github/release.yml configuration file for GitHub auto-generated release notes. Defines changelog sections with label mappings for breaking changes, bug fixes, documentation, new features, and improvements. Excludes specific labels and bot authors from release notes.

Changes

Cohort / File(s) Summary
GitHub Release Configuration
.github/release.yml
Added new GitHub auto-generated release notes configuration file with changelog sections, label-to-category mappings, and exclusion rules for specific labels and bot authors.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding a release.yml file for PR categorization in release notes.
Description check ✅ Passed The description is directly related to the changeset, explaining that the PR adds GitHub release notes configuration for categorizing PRs.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

Copy link
Copy Markdown

@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: 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:

  1. 🚨 Breaking Changes
  2. 🚀 New Features
  3. 🛠️ Improvements
  4. 🐛 Bug Fixes
  5. 📖 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

📥 Commits

Reviewing files that changed from the base of the PR and between 61d28da and 2a46b50.

📒 Files selected for processing (1)
  • .github/release.yml

Comment thread .github/release.yml
Comment on lines +4 to +11
changelog:
exclude:
labels:
- ignore-for-release
- dependencies
authors:
- rapids-bot[bot]
- dependabot[bot]
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 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
done

Repository: 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 -100

Repository: 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.

@AyodeAwe
Copy link
Copy Markdown
Contributor Author

AyodeAwe commented Apr 8, 2026

This is needed for changelogs and Github releases. I will admin-merge

@AyodeAwe AyodeAwe merged commit 0b61161 into rapidsai:release/26.04 Apr 8, 2026
18 of 31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant