fix(release-plz): describe the release in the PR title and fix body #123

Merged
jwilger merged 1 commit from fix/release-pr-title-description into main 2026-06-13 20:25:18 -07:00
Owner

Summary

Make the script that opens the release PR produce metadata that passes the
auto_review pre-merge quality gate, so release PRs stop requiring manual title
and body edits.

Rationale

The release PR is built and opened by .forgejo/scripts/create-release-plz-release-pr.sh
via the Forgejo API — release-plz's own pr_name/pr_body are never used. That
script set a bare chore(release): v<version> title with no description, which
auto_review rejected on every release ("PR metadata quality: title lacks a
description after the version"). Its body also claimed "All EventCore workspace
crates ... lockstep ... ADR-025" — copied from the eventcore repo; emc is a
single crate.

Changes

  • Derive a short description from the newest CHANGELOG.md entry, append it to
    the title, and cap the title at 72 characters (auto_review's other limit).
  • Correct the body to describe the single emc crate.
  • Remove the now-dead pr_name/pr_body from release-plz.toml and document
    that the script owns the PR metadata.

Verification

  • sh -n passes; the title-derivation awk was tested against a representative
    changelog and yields chore(release): v0.1.2 template compliant release PR title and body (67 chars).
  • scripts/copyright-headers.sh --check passes.

🤖 Generated with Claude Code

## Summary Make the script that opens the release PR produce metadata that passes the `auto_review` pre-merge quality gate, so release PRs stop requiring manual title and body edits. ## Rationale The release PR is built and opened by `.forgejo/scripts/create-release-plz-release-pr.sh` via the Forgejo API — release-plz's own `pr_name`/`pr_body` are never used. That script set a bare `chore(release): v<version>` title with no description, which `auto_review` rejected on every release ("PR metadata quality: title lacks a description after the version"). Its body also claimed "All EventCore workspace crates ... lockstep ... ADR-025" — copied from the eventcore repo; emc is a single crate. ## Changes - Derive a short description from the newest `CHANGELOG.md` entry, append it to the title, and cap the title at 72 characters (auto_review's other limit). - Correct the body to describe the single `emc` crate. - Remove the now-dead `pr_name`/`pr_body` from `release-plz.toml` and document that the script owns the PR metadata. ## Verification - `sh -n` passes; the title-derivation awk was tested against a representative changelog and yields `chore(release): v0.1.2 template compliant release PR title and body` (67 chars). - `scripts/copyright-headers.sh --check` passes. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(release-plz): describe the release in the PR title; fix body
All checks were successful
CI / Nix flake check (pull_request) Successful in 2m16s
CI / Request auto_review semantic review (pull_request) Successful in 2s
auto_review auto_review: no findings
CI / Rust CI (pull_request) Successful in 8m50s
00cf9c78d2
The release PR is created by create-release-plz-release-pr.sh, so release-plz's
own pr_name/pr_body are unused. auto_review's "PR metadata quality" gate rejected
the script's bare `chore(release): v<version>` title (no description) on every
release. Derive a short description from the newest changelog entry, append it to
the title, and cap the title at 72 characters. Also correct the PR body, which
described "EventCore workspace crates ... ADR-025" (copied from the eventcore
repo) — emc is a single crate. Remove the now-dead pr_name/pr_body from
release-plz.toml and note where the PR metadata actually comes from.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
auto-review left a comment

This PR updates the release script to generate more descriptive PR titles and bodies, ensuring compliance with the auto_review quality gate. The changes appear safe to merge, improving automation and reducing manual intervention.

Walkthrough

  • create-release-plz-release-pr.sh:
    • The script now derives a short description from the newest CHANGELOG.md entry and appends it to the PR title, ensuring it stays within 72 characters.
    • The PR body is corrected to accurately describe the single emc crate instead of referencing multiple crates.
    • Removed the unused pr_name and pr_body from release-plz.toml, as the script now handles PR metadata generation.
  • release-plz.toml:
    • Documentation updated to reflect that the script manages PR metadata, removing the now-dead pr_name and pr_body configurations.

LLM usage and cost

This PR updates the release script to generate more descriptive PR titles and bodies, ensuring compliance with the `auto_review` quality gate. The changes appear safe to merge, improving automation and reducing manual intervention. ## Walkthrough - **create-release-plz-release-pr.sh**: - The script now derives a short description from the newest `CHANGELOG.md` entry and appends it to the PR title, ensuring it stays within 72 characters. - The PR body is corrected to accurately describe the single `emc` crate instead of referencing multiple crates. - Removed the unused `pr_name` and `pr_body` from `release-plz.toml`, as the script now handles PR metadata generation. - **release-plz.toml**: - Documentation updated to reflect that the script manages PR metadata, removing the now-dead `pr_name` and `pr_body` configurations. ## LLM usage and cost - Reasoning (gpt-4o) in=2216 out=326 cost=$0.015970 - Cheap (gpt-4o-mini) in=620 out=64 cost=$0.000131 Estimated total USD: $0.016101 via https://api.openai.com and https://api.openai.com
jwilger deleted branch fix/release-pr-title-description 2026-06-13 20:25:19 -07:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Slipstream/emc!123
No description provided.