-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
I'm worried towncrier raises the threshold for new contributors and doesn't make our changelog better – thoughts? #12337
Comments
I haven't followed what |
No, to my knowledge this is not the case. You have to manually create individual files for each changelog section you want to add entries to. |
thanks for the feedback @hoechenberger. For me it's too early to tell (I've been chipping away at one big PR so I haven't actually gone through the towncrier process yet!). Are there PRs you can point to where a new/infrequent contributor was confused or struggled with the changelog step? One idea for streamlining this is a new GH action that:
|
I already submitted two PRs with the new changelog workflow. I think the process is more difficult now. Previously, we could add changelog entries to one file in the most suitable section. Now we need to create a new file with the correct scheme (the name must contain the PR number and the type of change). I really don't know what the benefit of the new workflow is. MNE already had a good practice of keeping a user-centric changelog, and AFAIR we wanted to improve the messages themselves to make them even easier for users. The goal was not to introduce yet another tool and make things more complicated. Tiny changes don't need a changelog entry, and now this means that the check will fail in such a case. This is also not ideal in terms of ease of use. So I think that the current situation is a regression in terms of usability. I also advocate for keeping things simple. As I've mentioned in e.g. #12051, I'd keep our previous process of manually adding changes to a single file. And if we want to catch PRs that don't include a changelog entry, we can do this with a simple GitHub Action. |
I believe that if the file is just called
I thought the main goal was reducing the frequency of changelog entries being forgotten and/or maintainers having to request them from PR submitters. Making the entries better or easier for PR submitters to write would be a nice benefit but I didn't expect towncrier to be able to do that... there was some talk of doing additional inspection of the changelog entries (similar to what's often done with docstrings, e.g., "must start with capital and end with period; must start with a verb and use active voice; etc") which might yield a net improvement in the quality of the entries, but hasn't been tried.
yes, but as you saw in #12335 adding the |
I don't think so, at least not according to https://mne.tools/dev/development/contributing.html#describe-your-changes-in-the-changelog
After my first PR using
For that one, the IMO, I would prefer a tool based on PR names, authors and labels; in which case the changelog completeness falls under the responsability of maintainers and is entirely transparent to users/contributors. |
No, but I believe we added more complexity to the process of committing a changelog entry. The volume of our contributing guide IMHO is already totally out of hand, and the section for adding changelogs is I believe @mscheltienne and @cbrnr basically made all points that I think are relevant. Right now, I don't see how towncrier streamlines our changelog process in any way, nor how it makes changelogs more user-friendly. Instead, we added loads of new tooling and more complexity. Am I missing some integral parts here? Why do we even need towncrier? The only advantage it currently brings is that it avoids merge conflicts in the changelog, no? – It's an honest question, I really don't see any other advantages…? |
It will, I added an magical little action for it in #12318, though perhaps I didn't document it enough. If you push a PR with
I think the more we conform to scientific Python common community practices the better. Towncrier-style changes are used by numpy, matplotlib, etc. so I think from an ecosystem perspective you could argue that anyone familiarizing themselves with Towncrier will automatically benefit from "getting it" for the others, so it lowers the overall long-term burden and has pedagogical value.
If you read @drammock's comment parts are in there:
Just to suppliment this a bit, historically
Given infinite time to work on these sorts of things I agree manual maintainer-based curation would be best. But given limited maintainer time (possibly better spent elsewhere) I think it's reasonable to offload some of this work to contributors. Overall I think it's worth trying this for a while and seeing if new contributors actually do have issues with it. I think we have some evidence from #12319 that it was not too onerous for at least one new contributor. I think existing MNE contributors will also trip over it initially but hopefully it will make things easier. FWIW with the auto-renaming I expect it to make things easier for my PRs as a contributor. |
I still maintain that a simple GHA (e.g. this one or this one) could check if the PR contains a changelog entry (and if not fail). Merge conflicts are not that common, and if they occur, these are the easiest merge conflicts that every developer should be able to handle (or in other words, a nice opportunity to learn here). |
But yes, the new workflow automatically fills in the PR number, so that's definitely an improvement (but it is not documented yet). |
Good arguments, I agree that merge conflicts are easy to solve, but not for all contributors, thus limitting this common merge conflicts is an improvement. |
I'm not convinced, my perception is we're exchanging some minor inconveniences for new problems and more tooling without making anything actually better for anyone. Notably, the core issue – better changelogs for users – was not even touched upon. I find this a very frustrating experience, and I'm also frustrated about the way this change came about, i.e., the decision process leaves me feeling alienated. I don't have the energy to keep discussing this, so I'm closing this issue. |
That is valuable feedback, thanks.
I don't think that's a very fair characterization of the discussion; it was touched upon. Your original post asked "wasn't [the quality of changelog entries] the original concern we were trying to address?" and, as I responded here, the motivation for adopting towncrier was "reducing the frequency of changelog entries being forgotten and/or maintainers having to request them from PR submitters". That comment also explained that there had been discussions of other things we could try to maybe improve changelog quality, but they haven't yet been tried. That doesn't mean that improving quality is unimportant, nor does it mean that making the process easier for contribs is unimportant. But they are separate goals with potentially separate solutions. (Incidentally, I also offered some additional ideas for lowering the contrib barrier in this comment --- which neither you nor anyone else has engaged with / responded to).
I'm sad to hear that. As I've said before, our use of towncrier is meant to be an experiment (not a fait accompli) and I'm glad you got the ball rolling on giving feedback. I also think it's too early to decide for/against it (@larsoner has similarly said "Overall I think it's worth trying this for a while") so I'm asking for you to be patient while we gather more opinions / experience. |
To me this discussion is mostly closed – towncrier doesn't seem to actually add a barrier as I first suspected; seems I was wrong. It still doesn't sit quite right with me – so much tooling, no better changelogs still. But oh well, so be it. But I wanted to share something I just came across, which I'd prefer very much to towncrier, should we ever consider ditching it again: Basically, they use the Try it out yourself:
… you get the idea… |
Thanks for sharing your updated opinion, good to know.
I'm sympathetic with this view. I don't think there's zero benefit (PRs accidentally missing changelog entries are much less likely because they cause a failing CI now, and changelog entries can't accidentally reference e.g. the issue number instead of the PR number). I guess some additional gains may come at release time?
That is reminiscent of the home-grown idea from #12051 (comment) which is something both @hoechenberger and I were in favor of exploring. Using |
Hello, with the new I'm still not super convinced about the quality of our changelog entries, but the workflow for adding them is nice now (unless I'm adding one of the very first entries after a release, where I always have go and find an older template to assist me, as the respective folder gets cleared with a release). All in all, and ignoring the additional tooling required (which still makes me a little anxious!), I appreciate this new way of working and I'd like to say thanks to all who helped implement this! |
Hello, this is no call to change or revert anything right now, but I just wanted to voice my concern that I believe with the adoption of towncrier, contributing has all but become easier … It's at least one additional file a new contributor has to add to git (instead of editing an existing changelog) … And for now, I don't see how it has improved the quality of our changelog entries either – wasn't that the original concern we were trying to address?
No further strong arguments, no further suggestions – just wanted to share my 2 ct and hear your opinions.
Thanks!
Richard
The text was updated successfully, but these errors were encountered: