-
Notifications
You must be signed in to change notification settings - Fork 54
Quality of the release notes/commit descriptions #106
Comments
Hey there, thanks for letting me know about that. There are a few things happening here, I think
That said, I do think migrating to version 2 is a good idea. It switches to using node 16 which will become the default eventually for github actions. But I was planning on communicating that better (I've been strapped for time lately). I'm not sure if I can change dependabot's message after the PR has already been opened by adding release notes, but this is definitely motivation for me to adopt something like changesets which should help make sure that there are "real" changelogs for everything in place. I appreciate you bringing it to my attention! tl;dr
Absolutely! |
Otherwise, if you include a changelog in the package root or write release notes for the tag in the Release-tab in the repo it will also be included as part of the PR from dependabot. You can see an example here. In general I would do both regardless, its already hard to know if updated actions require manual intervention when they are bumped. 🙂 |
Thanks for the detailed response and explanation for what's new in version 2, @jared-w! I totally agree that gatekeeping PRs over commit messages wouldn't be great. As @sondr3 suggests, the easiest solution here is to probably just include a changelog in the root of the repository and then make sure that is up-to-date before you tag a new version, since dependabot will source release notes from that. Some further thoughts:
|
The squash & merge option has broken preserving contributing commits to PR authors (off and on). I believe it currently makes me the main contributor and fails to show the PR author in the UI on the front-page of the repo, but that might've been fixed again. I'll add changelogs as part of some cleaning up that I do to actually properly automate releases and make sure that the contributing docs are moved from the various folders to where they'll be visible for people.
My personal policy with actions is to never break backwards compatibility, even across major version updates. The actions are a convenience and are intended to never be a maintenance burden; if they make your life more difficult, I've failed. The only reason we released v2 here was because the
That's the plan :) |
But I have no easy way of knowing that 😄 Most major version releases have not had breaking changes but a few have been, or have deprecated a flow I was using and it's not always easy reading commits and knowing if they will break your workflow. Doubly so if they are for release jobs that only run on tags and so on. |
Squashing via the github interface does preserve authorship as far as I have experienced, and I think it is good policy to squash commits in a PR if individual commits are not meaningful units, e.g. do not build, do not work without future commits, do not have meaningful commit messages. Good commit hygiene enables automatic changelogs by tag comparison (and also advanced features like |
Fixed by #164: Proper github releases are now created automatically by a workflow acting on tags " |
Firstly, a thank you to the contributors and maintainers of the actions in this repository! I use the
setup
action all the time for all of my Haskell projects. It's really nice to have and works very well.For many of my repositories, I have configured GitHub's Dependabot to keep my workflows up-to-date with something like this in
.github/dependabot.yml
(similar to what this repository has as well):I note that a few hours ago, a
v2.0
tag was pushed, which triggered Dependabot to open PRs to update thehaskell/setup
action on my repositories. Unfortunately, there are no proper release notes or a changelog, so it defaults to just showing the commits:I wouldn't necessarily mind just having a list of commits, if the descriptions were more meaningful. However, as it stands, it's very difficult to judge whether I want to upgrade without reviewing the commits myself. Furthermore, seeing commit messages like the ones above might give people the wrong impression of what seems to generally be a fairly high quality action and is part of the
haskell
organisation.Would it be possible to use more meaningful commit messages and/or publish release notes alongside new releases?
The text was updated successfully, but these errors were encountered: