[Matplotlib-devel] protected branches on GH

Nathaniel Smith njs at pobox.com
Mon Nov 9 12:33:08 EST 2015


On Mon, Nov 9, 2015 at 9:20 AM, Eric Firing <efiring at hawaii.edu> wrote:
> On 2015/11/09 7:11 AM, Thomas Caswell wrote:
>>
>> As a side note, I think you can force Travis to re run on top of the
>> current master by closing and reopening the issue.
>>
>
> Also, if you go into the Travis page showing the build, there is a "redo"
> circle with circular arrow that triggers a re-run.  If that suffices, it is
> nicer than adding the clutter of close/reopen, which will trigger two emails
> to each follower.

Kinda annoying when what you really want is a single button you press
that means "re-run the tests if necessary, and if they pass, then
merge".

Homu might suffice for this:
    http://homu.io/
It's designed to provide similar functionality, but predates Github's
new protected branch stuff, so projects using Homu generally just use
social convention to enforce that no-one commits directly :-). But the
homu UX does provide that 'single button' -- you post a comment saying
"this looks good to me" in the special bot-language, and then the bot
double-checks that the tests still pass when merging into current
master, and if so then it pushes them.

And, since it uses the Travis infrastructure to re-run the tests, I
think it might well automagically work with the new protected branch
feature, since Github should be able to see that the merged branch
that homu is trying to push has had the tests run on it.

(It also provides a useful serialization point -- the way Github's
protected branches work right now, if you're trying to work with them
manually and two people are trying to get a PR merged at the same
time, then they both click the "rebuild" button, they both get a green
light, they both click merge, one of them wins, and then the other has
to go rebuild *again*. With homu, they'd each post an "I approve"
message, and then Homu would take care of the race condition by
picking one of them to test-and-merge first, and then the other.)

-n

-- 
Nathaniel J. Smith -- http://vorpus.org


More information about the Matplotlib-devel mailing list