[python-committers] My (positive) feedback on the new CPython workflow
Terry Reedy
tjreedy at udel.edu
Tue Jul 18 19:06:13 EDT 2017
On 7/18/2017 2:31 PM, Brett Cannon wrote:
> Once again, glad the goals are panning out. :) Key thing has always been
> to increase our bandwidth and part of that was always to push more on to
> contributors so they can be more self-servicing.
>
>
> * most contributors create backports (using cherry-pick) themself.
> Before, this painful/error-prone task was usually done by a single
> developer without any review, without pre-commit tests, etc.
Backports affecting the same file should be done in the same order, with
the same 'before' state.
Real example: I merged PR A for file x.py and updated my clone to the
result of the merge. I then prepared and merged PR B for the same file.
Someone 'helpfully' prepared a backport of PR B, call it PR B3.6. It
passed CI but was wrong. Fortunately, I checked the 'after' state of
the file on a side-by-side diff. I prepared and merged PR A3.6, updated
the 3.6 branck of my clone, and then prepared a new and correct backport
of PR B.
Correct backporting is most easily assured if backports are done
immediately. I currently do so myself instead of requesting and waiting
for a contributor to do so (who likely is not immediately available).
Even better would be for the backport to happen automatically.
> My wishlist that I don't think anyone is actively working on ATM is:
> 2. Bot to backport PRs (which could also be automatically merged)
So, to me, this is the priority item on the list.
> 1. Bot to merge approved PRs (e.g. Rust's Homu)
How is a bot going to re-write the commit message? Beside which,
'approve' does not necessarily mean 'commit now'.
> 3. Automate Misc/ACKS (or do away with it and do something like
> https://thanks.rust-lang.org/)
Nice, but it is easy enough to ask the new contributor to do it ;-).
> 4. Make test coverage reports consistent
First, we need to make sure that the only difference in the before and
after code is the diff shown on the PR files pages, so that the coverage
difference is only due to the actual patch. From what I have seen, this
does not seem true now. One way to make this happen would be to update
the PR (or a copy thereof) to current repository, so that the only files
affected by the tested PR are the ones intended and visible.
Second, at least for IDLE, the .coveragerc file needs a few exclude
lines added. I suspect that they would be compatible with the rest of
the tests. (This could be checked with grep.)
> 5. Automatically close stale PRs (e.g. not signing CLA, changes
> requested but not being made, etc.)
What does 'close' (without merging) mean? I would not want older (IDLE)
PRs permanently gone in any sense just because I am busy reviewing other
patches. I recently merged PR based on a patch uploaded to BPO 8 years ago.
Not signing CLA is a special case.
> 6. Bot to nudge core devs when they forget something (e.g. post-merge,
> a comment if someone forgot to change the commit message or PR
> number to have a "GH-" prefix)
When possible, I would prefer to get reminders before the merge.
--
Terry Jan Reedy
More information about the python-committers
mailing list