[Matplotlib-devel] protected branches on GH

Nathaniel Smith njs at pobox.com
Mon Nov 9 12:40:38 EST 2015


(BTW, experimenting with homu is super easy: you go to
http://homu.io/n/ and type in the name of your repo to register. This
by itself doesn't do much -- the only thing the bot does spontaneously
is post a comment on old PRs when they become unmergeable due to
conflicts, which is kinda nice but whatever [1]. But then if you want
to use the actual functionality, you can now type "@homu: r+" in a PR
comment, and the bot will wake up and run the tests and merge if they
pass. At least if the person making the comment is on @homu's list of
trusted reviewers.)

-n

[1] Example: https://github.com/numpy/numpy/pull/6053#issuecomment-143870423

On Mon, Nov 9, 2015 at 9:33 AM, Nathaniel Smith <njs at pobox.com> wrote:
> 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



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


More information about the Matplotlib-devel mailing list