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

Auto Generate Changelog #10

Open
oojo12 opened this issue Nov 27, 2022 · 7 comments
Open

Auto Generate Changelog #10

oojo12 opened this issue Nov 27, 2022 · 7 comments
Assignees
Labels
enhancement New feature or request

Comments

@oojo12
Copy link
Contributor

oojo12 commented Nov 27, 2022

Is your feature request related to a problem? Please describe.
This is more of a maintenance task to make it obvious and easy to see what changes have happened over the life of the project.

Describe the solution you'd like
I'm thinking of using an action to generate the Changelog on releases.

Describe alternatives you've considered
Considered GitHub Actions and some other functions for doing it. Decided to stick with native GitHub tooling.

Feel free to assign to me, as I think it would be fun to do.

@oojo12 oojo12 added the enhancement New feature or request label Nov 27, 2022
@sarah-quinones
Copy link
Owner

sarah-quinones commented Nov 27, 2022

EDIT: nvm, i mixed up the changelog with the realease notes

i think for something like this, i'd rather generate the changelog manually. it's not too much of a maintenance burden and it would probably be higher quality since i could organize stuff by order of importance.

what do you think?

@sarah-quinones
Copy link
Owner

what does an automatically generated changelog look like? are there any projects that do this that we can get inspiration from?

@oojo12
Copy link
Contributor Author

oojo12 commented Nov 27, 2022

an example below however it can be customized based on labels

example

another example here

Personally, I am not aware of any that use it.

@sarah-quinones
Copy link
Owner

we can give this a try and see if it works well for our case. i'll assign this to you since you're fine with it

@oojo12
Copy link
Contributor Author

oojo12 commented Nov 28, 2022

Updated 11/28/22

So then here are my brief thoughts:

Instead of the date the header will be the SemaVer release.

Labels Included in Changelog

  1. Security - security related updates
  2. Breaking changes - Things that are breaking changes
  3. Bug - bug fixes
  4. Enhancement - new features within a crate
  5. Infrastructure - infra changes (like CI/CD, non-breaking API changes etc)
  6. Maintenance - routine maintenance task (i.e., increasing test coverage, benchmarking, dependency deduplication, making functions more modular, updating packages, etc)
  7. Documentation - document updates
  8. Good first issue (if you want to highlight new contributors). Though this could be superseded by any of the above.

Labels Excluded from Changelog

  1. Questions
  2. Help wanted

I think the above would be a concise way to group project changes in the long term and can easily be updated as conventions change. Thinking the changelog should print them in that order as it seems to me what should be most important.

I'll go ahead and try to make something like this and see how it goes.

For my recollection

  • Follow conventional commits
  • Possible implementation tool for making Changelog
  • Write Action to use decided standard to auto add/remove labels to/from PR.

@sarah-quinones
Copy link
Owner

can't wait to see what you come up with

@mhovd
Copy link
Contributor

mhovd commented May 8, 2024

I have heard great things about git-cliff (https://github.com/orhun/git-cliff), written by one of the ratatui developers. They use it to generate their changelogs, which looks neat.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants