I have created a bot that I hope we can use to host all non-CLA checks for
a PR that isn't covered by CI: https://github.com/brettcannon/bedevere. To
start, the bot would check for a bugs.python.org issue number and set a
failing status if one isn't found, else link the status to the issue itself.
If the approach I took in the bot seems reasonable to people I will add
support for a "trivial" label which would cause the bot to say the check is
successful due to the fact that the PR is trivial enough to not warrant an
issue to begin with. We can then continue to expand this bot to do other
things like check that there is a NEWS file (unless marked as "trivial").
I don't want to role the CLA bot into bedevere since I created the bot in
such a way as to be useful to other organizations on GitHub. So the Knights
Who Say Ni will stay a separate repo.
If there is objection I will happily revert it, but I needed to mark an
issue on bugs.python.org as still needing backport, since I'd merged
the fix and the PR is now closed but I have no time currently to learn
about how to do backports(*). So I added a 'backport needed' status
to the tracker.
I there is agreement that this is a good idea and should remain, we can
maybe get rid of it later after backports are automated. But I
have a feeling we'll want it long term, given the new workflow
and the fact that not all backports can be done automatically.
(*) Or, to be more accurate, I'm waiting until you all figure out how
to automate it.
We have three tools in the running: towncrier from Twisted, reno from
OpenStack, and blurb from Larry Hastings. We have PRs containing example
output for each tool for people to look at to see what the input and output
will look like.
Over the next week I will be collecting feedback from people before making
a decision of which tool to go with.
Since people have been discussing writing various bots to help automate the
workflow, I thought I should let this list know that I have created
https://github.com/brettcannon/gidgethub. Specifically this is a GItHub
library that is asynchronous from the bottom-up so there won't be any
scaling issues with any bot. It also tries to not be too clever for its own
good -- although it does currently pause your requests if you exhaust your
API quota -- so that if you want to use some new API from GitHub you don't
have to wait for me to update the library.
I submitted PR#138 on bpo-22807. I got a nice review from a community member
and made a small change. All checks have passed.
But now I'm stuck and I'm impatient. ;)
The change is small enough and I'm happy with it, and I could patiently wait
for another core dev to approve it, but in the likely case that no one else is
interested in the bug, I'd like to be able to self-approve and accept it.
This of course is described as my right in the devguide, along with the
responsibility to watch the buildbots and revert the change if there are any
problems with it.
But it seems like I cannot do that through the GH UI. Right now I'm seeing
(X) Review required
(✓) All checks have passed
(X) Merge is blocked
There seems to be no way to self-approve the PR. If I go to 'Files changed'
tab and click on 'Review changes', both Approve and Request changes is
dimmed. I can only comment on my own PR.
I can understand why we might want to prohibit self-approvals, but that's also
a regression in the permissions and rights of core developers. I also think
it's counterproductive since without that I might have to go begging for a
review approval before the branch can land.
Is this intentional or an oversight?
(As an owner of the project, I took a quick look at the project settings and
couldn't find a control for this, but I know other GH projects I contribute to