Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatically generate stubs for release notes and migration guides #398

Closed
alice-i-cecile opened this issue Jul 22, 2022 · 6 comments
Closed

Comments

@alice-i-cecile
Copy link
Member

Each release, we want two lists, scraped from the https://github.com/bevyengine/bevy PRs merged since the last release.

  1. Release notes: all PRs in the correct time period that have a Changelog section OR have an C-Enhancement label.
  2. Migration guide: all PRs that have a Migration Guide section, OR have a C-Breaking-Change label.

(The labels are there to catch stuff that was missed).

The lists generated should record:

  • The PR name, number and link
  • The authors of all commits
  • The area tags listed (e.g. A-ECS)
  • The contents of

These lists should be sorted by area tags (just use the first matching one if there's multiple).

These lists should be manually generated via a command-line method, that accepts two arguments:

  1. Whether to generate release note stubs or migration guide stubs.
  2. What Bevy version to grab commits after (this should probably stop at the next version's tag, in case we want to do this on a historical basis too?).

Library suggestions

  1. clap, an excellent Rust CLI-builder tool.
  2. markdown-extract, to parse the sections.
  3. octocrab, for scraping Github. Seems to be the most popular / maintained of the current options?
@IceSentry
Copy link
Contributor

IceSentry commented Jul 22, 2022

If anyone wants to tackle this I would suggest doing something similar to all the generate-* tools we already have

@rparrett
Copy link
Contributor

Here's a janky shell script for the migration guide: https://gist.github.com/rparrett/46e434ba1fec127738fa8932f9e1d482

@IceSentry
Copy link
Contributor

IceSentry commented Oct 25, 2022

I ended up writing a tiny rust app to generate the migration guide #469. It worked surprisingly well.

@IceSentry
Copy link
Contributor

Oh, I just saw the suggestion to use markdown-extract, that would have been way easier if I used that.

@IceSentry
Copy link
Contributor

I added support to generate release note in #469 it's not complete yet since it doesn't do any filtering or sorting, but it's a start.

@TrialDragon
Copy link
Member

I believe this issue was resolved in #469 , merged in commit f2a3e7d . Issue doesn't need to be open anymore.

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

No branches or pull requests

4 participants