[issue40551] PRs should be rebased on top of master before running the build/tests

Filipe Laíns report at bugs.python.org
Sat May 9 05:08:25 EDT 2020


Filipe Laíns <filipe.lains at gmail.com> added the comment:

> * Travis-CI, at least, does test against "merge commit", not HEAD of PR branch.

Where? https://github.com/python/cpython/blob/master/.travis.yml

> * As you said already, master branch grow after PR is created anyway.

> This issue proposes " this only works at the time the pull request is created."  It doesn't help that case.

Please note that the proposed fix is just that. I detailed that we should do something else, but this was the first step.

> * We run CI and buildbots against master branch too.  So we can find breakage soon when something go wrong.

Right, but then it might not be trivial to add a fix or revert changes. If more changes are merged before someone deals with the breakage, it might become very difficult to fix, at this point you are playing whack-a-mole reverting patches...

So, I disagree with you. This is a real issue. It's not a matter of if, it's a matter of when. And a matter of, how bad will it be when it happens?

There are two ways we could go about this:

* Automatically
No-one merges anything manually, they add a tag or comment to trigger the build bot. The bot will restart the tests and merge if they pass.

* Semi-automatically
When someone approves the patch, the tests will automatically be re-triggered, it then is on the developer to make sure there are no major differences from master at the time of merging, to avoid any issues. The tests can be triggered manually, but perhaps it would be best to introduce a `/test` command in the bots to do this, avoiding the developer to go through a few UI jumps.
If this is chosen, all current developers should be notified, and this added to the dev wiki. It also should be noted during the onboard process for new developers.

Please note in both situations, automatically rebasing PRs *is* the first step. After that, it's just figuring out a suitable model to re-trigger the checks before merging.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue40551>
_______________________________________


More information about the Python-bugs-list mailing list