Skip to content

Auto-label PRs and use native release notes generation#7417

Merged
isaacroldan merged 1 commit intomainfrom
04-28-auto-label_prs_and_use_native_release_notes_generation
Apr 28, 2026
Merged

Auto-label PRs and use native release notes generation#7417
isaacroldan merged 1 commit intomainfrom
04-28-auto-label_prs_and_use_native_release_notes_generation

Conversation

@isaacroldan
Copy link
Copy Markdown
Contributor

@isaacroldan isaacroldan commented Apr 28, 2026

Summary

Replaces the empty release body (from #7415) with GitHub's native --generate-notes output, made useful by two new pieces of automation:

  • .github/workflows/label-pr.yml runs on PR open/sync/reopen and inspects any changeset files added in the PR:
    • PRs with no changeset → no-changelog label
    • PRs with a changeset → Area: @shopify/<area> label, derived from the packages in the changeset frontmatter
    • Multi-package changesets fold to Area: @shopify/cli (per discussion: "anything mixed counts as CLI")
    • Idempotent: cycles labels correctly when changesets are added/removed during PR review
  • .github/release.yml configures --generate-notes to exclude no-changelog PRs and bucket the rest into App / Theme / CLI / Other categories.

The Create GitHub release step in release.yml now passes --generate-notes instead of --notes "".

Notes

  • Fork PRs are skipped by the labeler (GITHUB_TOKEN is read-only on forks). They land in "Other" in release notes until manually labeled.
  • Pre-existing open PRs and recently merged PRs won't be auto-labeled until they're updated. The first release after this lands will have unlabeled merges show up under "Other"; cleans up over time.
  • The no-changelog, Area: @shopify/cli, Area: @shopify/theme, Area: @shopify/app labels already exist in the repo.

Test plan

  • Verify the labeler runs on a fresh PR with no changeset → no-changelog is applied
  • Verify on a PR with an @shopify/app changeset → Area: @shopify/app is applied
  • Verify on a PR touching multiple packages → Area: @shopify/cli is applied
  • Verify on a PR where a changeset is added later → no-changelog is removed and the area label is added
  • After the next release, eyeball the auto-generated notes and confirm category bucketing works

🤖 Generated with Claude Code

Copy link
Copy Markdown
Contributor Author

isaacroldan commented Apr 28, 2026

@github-actions github-actions Bot added the no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users. label Apr 28, 2026
Replaces the empty release body with GitHub's native --generate-notes
output, made useful by two new pieces of automation:

- .github/workflows/label-pr.yml runs on PR open/sync and inspects any
  changeset files added in the PR. PRs with no changeset get the
  no-changelog label; PRs with a changeset get an Area: @shopify/...
  label derived from the packages in the changeset frontmatter.
  Multi-package changesets fold to Area: @shopify/cli.
- .github/release.yml configures --generate-notes to exclude PRs
  labeled no-changelog and to bucket the rest into App / Theme / CLI /
  Other categories using the area labels.

Fork PRs are skipped by the labeler (read-only token); they fall into
the Other category in release notes until labeled by hand.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@isaacroldan isaacroldan changed the base branch from 04-28-automatically_unlock_main_branch_after_release_publishes to graphite-base/7417 April 28, 2026 11:10
@isaacroldan isaacroldan force-pushed the 04-28-auto-label_prs_and_use_native_release_notes_generation branch from 9545361 to 602c9d0 Compare April 28, 2026 11:10
@isaacroldan isaacroldan changed the base branch from graphite-base/7417 to 04-28-automate_tag_stable_branch_and_github_release_after_changeset_publish April 28, 2026 11:10
@isaacroldan isaacroldan marked this pull request as ready for review April 28, 2026 11:15
@isaacroldan isaacroldan requested a review from a team as a code owner April 28, 2026 11:15
Copy link
Copy Markdown
Contributor

@gonzaloriestra gonzaloriestra left a comment

Choose a reason for hiding this comment

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

Nice idea! Let's see how it works, I guess we will need to fine tune it a bit.

Base automatically changed from 04-28-automate_tag_stable_branch_and_github_release_after_changeset_publish to main April 28, 2026 11:43
@isaacroldan isaacroldan added this pull request to the merge queue Apr 28, 2026
Merged via the queue into main with commit 149b049 Apr 28, 2026
27 checks passed
@isaacroldan isaacroldan deleted the 04-28-auto-label_prs_and_use_native_release_notes_generation branch April 28, 2026 11:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants