-
Notifications
You must be signed in to change notification settings - Fork 7k
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
[RFC] Simplify release note creation #3351
Comments
Thanks for the write up @vfdev-5, this is very useful. Here are some thoughts on this:
Any thoughts @fmassa, @NicolasHug? |
I agree with @datumbox comment. @fmassa and I wrote the release notes last week and we spent the vast majority of the time labeling the PRs. As it's very time-consuming, so it'd be good to have a process that would make this faster for the next releases. There are 2 label levels:
Note: the labels aren't necessarily mutually exclusive so it's fine to have e.g. I think that if reviewers prefixed the commit message with these labels before squash-and-merging, it would greatly help the release note writing. Also while we're adding these prefixes, we might as well edit the commit message to something more descriptive than what the current PR title says (as sometimes the original titles aren't changelog-friendly). |
I like the simplicity of the approach proposed by @NicolasHug of tagging the commit message, but I think we might more often than not forget to manually change the commit title before committing to the repo. And once the PR has been merged, it is not possible to change it. I would propose an intermediate approach which uses github labels to categorize the PRs. Getting github labels in an automated fashion can be obtained either via By slightly tweaking the already existing scripts from PyTorch we can customize it for this use-case. So the idea would be the following:
This will allow us to remove the (current) biggest burden from the release notes process (PR categorization). I think adding per-commit release notes messages might be too much, and the highlights section should normally be done just before a release (as we get the full context of the release already there). Thoughts? |
+1 on the overall approach and I agree on implementing this with label as GitHub titles can't be changed post merge. |
OK, I agree that using github labels instead of commit messages might be more flexible. I just went and tagged all the merged PRs since the 0.9 release. Let's try to set them before merging ;) !
That's great! If we can't tell |
There is also a way to auto label PRs (via GitHub Actions) depending on which folder is modified. If any interest I can provide more details. |
I think we might want to keep things manual for now, as the labelling is often more subtle than just checking which folder gets modified. For example for a new feature, tests will be added, but it doesn't mean that it should be labelled with In terms of automation though, something that might be useful is to prevent merging (or at least hint at not mergning) unless the PR is properly tagged. Do you know if that's easily doable, maybe with GitHub Actions? I guess we could add a new CI check for that but that may be overkill |
Well, normally, we label usually submodules of the lib and other important parts. But I see what you mean and agree that some labels can be misleading.
It depends on what exactly means "PR is properly tagged"... Just fail a run on a PR that does not have any labels shouldn't be hard... |
I'm thinking of preventing a merge unless at least one of a set of labels is present (the set being the equivalent of the one in #3351 (comment)). But ideally, this would be done when we try to merge the PR at the very end, not as a CI job. It's better to tag (or re-tag) right before merging because the scope of a PR may change throughout its existence, potentially making some labels obsolete. Also more CI jobs = higher chances of a flaky CI = unhappy maintainers and contributors. |
Is it worth creating a short list here of the tags we are supposed to use for tagging the PRs? It might be worth defining what they mean. For example, what's the difference between Finally I noticed that we have a tag called |
Yes although I'd suggest to do that later, once we've used the new system for a bit longer. It's likely that some tags will be added / removed until then Regarding your following points, I created |
I would encourage us using the same tags as what we use for issues already, It's easier to rename an already existing tag than to merge two tags later on I believe. |
Few ideas on how to simplify the release note creation by structuring PRs.
For example, those projects are using tools to automate some part of the process:
There are pros/cons for automation approaches:
cc @datumbox
The text was updated successfully, but these errors were encountered: