Skip to content

chore(release): keep the release PR body to the release - #116

Closed
polaz wants to merge 1 commit into
mainfrom
chore/#115-release-pr-body
Closed

polaz wants to merge 1 commit into
mainfrom
chore/#115-release-pr-body

Conversation

@polaz

@polaz polaz commented Sep 27, 2026

Copy link
Copy Markdown
Member

Summary

The release PR body carries only what the release is:

  • Breaking changes: release-plz's default template pasted the raw cargo-semver-checks report (lint descriptions, reference links, the temporary checkout paths of the old version). A pr_body template keeps release-plz's layout and lists each failed lint with the items it names:

    cargo-semver-checks against 4.3.0:
    
    - enum_missing: pub enum removed or renamed
      - `enum structured_proxy::transcode::body::BodyError`
    - function_missing: pub fn removed or renamed
      - `function structured_proxy::transcode::request::parse_query`
      ...
    

    The check stays on: it also bumps the major version for a breaking change no commit declared.

  • Changelog: the commit that moved the binary into a structured-proxy-cli package is skipped. That package was never released (the binary moved back into structured-proxy before 5.0.0), so its entry described a change no user sees. commit_parsers replaces release-plz's defaults, so they follow the skip rule unchanged.

Testing

  • The template rendered with Tera 2 exactly as release-plz renders it (Tera::default(), releases in the context), against the report in the current release PR: the output is the list above; a compatible release renders with no breaking-changes section. release-plz's own default template through the same harness reproduces the current release PR body.
  • release-plz update on this branch: next version 5.0.0 with the semver check still run; the 5.0.0 changelog has no structured-proxy-cli entry, and every other entry keeps its group.

Closes #115

- The breaking-changes section of the release PR pasted the raw
  cargo-semver-checks report: every lint's description and reference
  links, and the temporary checkout paths of the old version. A
  `pr_body` template keeps release-plz's layout and lists each failed
  lint with the items it names. The check stays on, since it also bumps
  the major version for a breaking change no commit declared.
- The changelog listed the commit that moved the binary into a
  structured-proxy-cli package; that package was never released, as the
  binary moved back into structured-proxy before 5.0.0. A commit parser
  skips it by sha, ahead of release-plz's default parsers, which setting
  the key replaces.

Closes #115
@coderabbitai

coderabbitai Bot commented Sep 27, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 22 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 21416ec6-43b8-43cb-a2bf-3a5f1be55ddb

📥 Commits

Reviewing files that changed from the base of the PR and between 689ab08 and 23acaab.

📒 Files selected for processing (1)
  • release-plz.toml

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.

❤️ Share

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

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-27T17:55:12.314256Z 23acaab PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 23acaab8f7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread release-plz.toml
# The structured-proxy-cli package this commit introduced was never
# released: the binary moved back into structured-proxy before the next
# release, so the entry would describe a change no user sees.
{ sha = "90d746b1b3c879359776adaf4bbbac5b97bf1f38", skip = true },

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve user-visible changes from the skipped commit

When generating the 5.0.0 changelog, this rule drops the entire 90d746b commit rather than only its transient package move. That commit also introduced the still-shipped structured-proxy --version option (src/main.rs:16) and clearer config-path errors, and no later commit adds a replacement changelog entry for --version; users therefore receive a new CLI capability that is absent from the release notes. Reword or replace the misleading package-move entry while retaining the user-visible changes instead of skipping the whole commit.

Useful? React with 👍 / 👎.

@polaz polaz closed this Sep 27, 2026
@greptile-apps

greptile-apps Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 4/5

[Low risk] Customizes the template for automated release pull requests.

The release PR loses useful detail for removed Cargo features, but the break remains flagged and the issue does not block merging.

Findings

  1. P2 Removed feature names disappear ▶
Summary

The PR condenses the release PR’s breaking-change report and skips a superseded CLI-package commit from the changelog. The new report flags removed Cargo features but omits their names. This loss of review detail does not block merging.

Reviews (1) · Last reviewed commit: "chore(release): keep the release PR body..."

Comment thread release-plz.toml
Comment on lines +36 to +37
{%- elif line is starting_with(pat=" ") and line is containing(pat=" in file ") %}
- `{{ line | split(pat=" in file ") | first | trim | replace(from=", previously", to="") }}`

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Removed feature names disappear

When cargo-semver-checks reports a removed Cargo feature, its item line says in the package's Cargo.toml, not in file. This filter drops the item line, so the release PR flags the breaking change but omits which features were removed. Reviewers must consult the full report to identify them. This loss of review detail does not block merging.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Artifacts

Exact Tera rendering test script

  • This is the authored script executed for both captures; it fetches upstream report examples and renders the default and PR templates with Tera 2.

Default template render with compatible and breaking reports

  • The before command exited 0 and displayed both removed feature names in the upstream default release PR body.

PR template render with compatible and breaking reports

  • The after command exited 0 but displayed only the feature-removal lint heading, omitting both removed feature names.

Release rendering test inventory and tracked-file status

  • The command found no tracked release-template rendering test and confirmed that tracked files were unchanged.

View artifacts

T-Rex Ran code and verified through T-Rex

@greptile-apps

greptile-apps Bot commented Sep 27, 2026

Copy link
Copy Markdown

Comments Outside Diff

These findings sit on lines the diff does not cover, so they could not be posted inline. Each one leaves this list once its file changes.

  • P2 Breaking-change template drops Cargo feature names ▶

    • Bug
      • A release PR can flag an API break and name the feature_missing lint while omitting every removed feature. The upstream default template includes those items; the PR template does not. There is no tracked regression rendering test for this behavior.
    • Cause
      • At release-plz.toml lines 32–39, item lines are retained only when they start with two spaces and contain the exact text in file. Actual cargo-semver-checks feature-removal reports use indented lines such as feature going_missing in the package's Cargo.toml.
    • Fix
      • Render or parse all Failed in: items rather than requiring in file, and add Tera rendering tests for source-item and Cargo-feature reports.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant