Changelog bot to figure out when changelog is not needed
Opened this issue · 6 comments
There a few easy cases when the bot could figure out by itself that a changelog is not needed. E.g documentation only changes, changes to the CI setup, etc.
Con: our release scripts are also rely on having the "no-changelog-entry-needed" labels, so it would only work with the bot if it were to add the label (in that case, the automated decision could be super easily overridden by removing the label).
There is no reason why the bot couldn't set the label. I am not sure off the top of my head how we could make the bot remember that it set the label before and not just set it again next time it runs. Currently each run of the bot is stateless, getting just what it needs from the GitHub API. I don't know off the top of my head if you can query GH for the labels that used to be on a PR.
ahh, good points.
maybe then we could just tell it to remove in a comment? that will stay on the PR so the bot will notice next time again?
That should work. Would need a function to scan all the comments for commands but that sounds like a very handy thing to have anyway.
I looked at this while on the plane and decided it is best to roll out something specific to the core repo first: astropy/astropy-bot#100
To make this generic might be challenging, as all the repositories that use this might have their own definitions of what constitute of a code change that needs changelog or otherwise.
Re: There is no reason why the bot couldn't set the label -- I thought of one reason not to do this. The PR might evolve into a state that needs a changelog after all. When that happens and the bot skips because it set the label before, then this becomes a bug and not a feature.
Re: There is no reason why the bot couldn't set the label -- I thought of one reason not to do this. The PR might evolve into a state that needs a changelog after all. When that happens and the bot skips because it set the label before, then this becomes a bug and not a feature.
but that's when the comment comes into play, isn't it?