chore(release): rebuild automatic release notes pipeline#146
chore(release): rebuild automatic release notes pipeline#146SantiagoDePolonia merged 2 commits intomainfrom
Conversation
📝 WalkthroughWalkthroughAdds PR template, PR-title validation workflow, automatic release-label management workflow, release.yml for changelog categories, updates goreleaser to github-native changelog, and documents release hygiene in DEVELOPMENT.md. Changes
Sequence DiagramsequenceDiagram
actor Developer
participant GitHub
participant PRValidator as PR Title Validator
participant LabelManager as Release Label Manager
participant Goreleaser
participant GitHubRelease as GitHub Release
Developer->>GitHub: Open/Edit PR
GitHub->>PRValidator: trigger pr-title workflow
PRValidator->>GitHub: validate title (Conventional Commits)
alt title invalid
PRValidator-->>Developer: check failed
else title valid
PRValidator-->>GitHub: check passed
end
GitHub->>LabelManager: trigger release-labels workflow
LabelManager->>GitHub: ensure release labels exist
LabelManager->>GitHub: map PR title -> release label(s)
LabelManager->>GitHub: add/remove labels on PR
Developer->>GitHub: Merge PR
GitHub->>Goreleaser: run release (uses PR labels)
Goreleaser->>GitHubRelease: generate changelog & create/update release
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 minutes Possibly related PRs
Poem
🚥 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)
📝 Coding Plan
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.
Actionable comments posted: 3
🤖 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/pull_request_template.md:
- Line 1: Change the first-line heading to a top-level H1 to satisfy MD041:
either replace the existing "## Summary" with "# Summary" or insert a top-level
H1 line above the current "## Summary" (so the file begins with an H1 followed
by the existing secondary heading); update the header text if you prefer a more
descriptive project title.
- Around line 9-10: The PR template's header "`type(scope): short summary`"
implies a required scope but the release-labels workflow regex `(\([^)]+\))?`
allows an optional scope; update the template to match the automation by
changing the example to use an optional-scope form (e.g., "type(scope)?: short
summary" or simply "type(optional-scope): short summary") or alternatively make
the workflow regex require a scope—pick one and make both
`.github/pull_request_template.md` (the `type(scope): short summary` example)
and `.github/workflows/release-labels.yml` (the `(\([^)]+\))?` pattern)
consistent.
In @.github/workflows/pr-title.yml:
- Line 17: The workflow step currently uses a floating tag "uses:
amannn/action-semantic-pull-request@v5"; replace that floating tag with the
action pinned to a full commit SHA (e.g. "uses:
amannn/action-semantic-pull-request@<full-commit-sha>") to remove supply-chain
risk, ensuring the exact commit SHA is used wherever "uses:
amannn/action-semantic-pull-request@v5" appears (the pull_request_target
workflow step).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: da44a9ff-1a82-4457-8111-596ca544b443
📒 Files selected for processing (6)
.github/pull_request_template.md.github/release.yml.github/workflows/pr-title.yml.github/workflows/release-labels.yml.goreleaser.yamlDEVELOPMENT.md
| `type(scope): short summary` | ||
|
|
There was a problem hiding this comment.
“Required scope” wording is inconsistent with current automation.
Line 9 says type(scope): ... (required scope), but .github/workflows/release-labels.yml Line 22 accepts optional scope ((\([^)]+\))?). Please align docs or enforcement.
Suggested wording adjustment (docs-aligned option)
-`type(scope): short summary`
+`type(scope?): short summary`📝 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.
| `type(scope): short summary` | |
| `type(scope?): short summary` | |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.github/pull_request_template.md around lines 9 - 10, The PR template's
header "`type(scope): short summary`" implies a required scope but the
release-labels workflow regex `(\([^)]+\))?` allows an optional scope; update
the template to match the automation by changing the example to use an
optional-scope form (e.g., "type(scope)?: short summary" or simply
"type(optional-scope): short summary") or alternatively make the workflow regex
require a scope—pick one and make both `.github/pull_request_template.md` (the
`type(scope): short summary` example) and `.github/workflows/release-labels.yml`
(the `(\([^)]+\))?` pattern) consistent.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
♻️ Duplicate comments (1)
.github/pull_request_template.md (1)
9-10:⚠️ Potential issue | 🟡 MinorAlign template wording with optional-scope automation.
Line 9 currently implies scope is required (
type(scope): ...), while your release-label automation was previously defined to allow optional scope. Please change the example to an optional form (for example,type(scope?): short summary) so contributors follow the same rule enforced by CI.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/pull_request_template.md around lines 9 - 10, Update the example in the PR template so the scope is shown as optional by replacing the current literal `type(scope): short summary` with an optional-scope form such as `type(scope?): short summary` so it matches the release-label automation and CI rules; locate and edit the template example string `type(scope): short summary` and change it to `type(scope?): short summary`.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In @.github/pull_request_template.md:
- Around line 9-10: Update the example in the PR template so the scope is shown
as optional by replacing the current literal `type(scope): short summary` with
an optional-scope form such as `type(scope?): short summary` so it matches the
release-label automation and CI rules; locate and edit the template example
string `type(scope): short summary` and change it to `type(scope?): short
summary`.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: d8bd295a-b69d-4f8d-bf3b-62958185ece8
📒 Files selected for processing (1)
.github/pull_request_template.md
Summary
Validation
Summary by CodeRabbit