<div dir="ltr">Thank you everyone - including the off list replies,<div>master branch protections are now live!</div><div><br></div><div>I have deliberately NOT required the codecov checks</div><div>to pass - the test coverage numbers have proved far</div><div>too noisy to use as a simple yes/no check.</div><div><br></div><div>Also since there are two AppVeyor entries, I may</div><div>not have ticked the right one(s) - but initially the</div><div>setup is as follows (see below).</div><div><br></div><div>Question for later: Should we go further and require</div><div>a pull request be reviewed prior to merging? See also:</div><div><br></div><div><a href="http://mailman.open-bio.org/pipermail/biopython-dev/2017-September/021871.html">http://mailman.open-bio.org/pipermail/biopython-dev/2017-September/021871.html</a><br></div><div><br></div><div>Regards,</div><div><br></div><div>Peter</div><div><br></div><div>--</div><div><br></div><div><div class="gmail-Subhead" style="box-sizing:border-box;display:flex;padding-bottom:8px;margin-bottom:16px;border-bottom:1px solid rgb(225,228,232);color:rgb(36,41,46);font-family:-apple-system,system-ui,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:14px"><h2 class="gmail-Subhead-heading" style="box-sizing:border-box;margin-top:0px;margin-bottom:0px;font-size:24px;font-weight:normal">Branch protection for<span> </span><strong style="box-sizing:border-box;font-weight:600">master</strong></h2><h2 class="gmail-Subhead-heading" style="box-sizing:border-box;margin-top:0px;margin-bottom:0px;font-size:24px;font-weight:normal"><div class="gmail-Subhead" style="box-sizing:border-box;display:flex;padding-bottom:8px;margin-bottom:16px;border-bottom:1px solid rgb(225,228,232);font-size:14px"></div><div class="gmail-form-checkbox" style="box-sizing:border-box;padding-left:20px;margin:15px 0px;vertical-align:middle;font-size:14px"><label style="box-sizing:border-box;font-weight:600"><input type="checkbox" name="secure" class="gmail-js-protect-branch" checked style="font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;font-size:inherit;line-height:inherit;font-family:inherit;margin-top:4px;overflow:visible;padding:0px;float:left;vertical-align:middle">Protect this branch</label><span class="gmail-note" style="box-sizing:border-box;min-height:17px;margin:0px;font-size:13px;color:rgb(88,96,105);display:block">Disables force-pushes to this branch and prevents it from being deleted.</span></div><div class="gmail-js-protected-branch-options gmail-js-toggler-container gmail-protected-branch-options gmail-protected-branch-reviews gmail-active" style="box-sizing:border-box;margin-left:20px;opacity:1;font-size:14px"><div class="gmail-form-checkbox" style="box-sizing:border-box;padding-left:20px;margin:15px 0px;vertical-align:middle"><label style="box-sizing:border-box;font-weight:600"><input type="checkbox" name="has_required_reviews" class="gmail-js-protected-branch-option gmail-js-toggler-target" style="font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;font-size:inherit;line-height:inherit;font-family:inherit;margin-top:4px;overflow:visible;padding:0px;float:left;vertical-align:middle">Require pull request reviews before merging</label><span class="gmail-note" style="box-sizing:border-box;min-height:17px;margin:0px;font-size:13px;color:rgb(88,96,105);display:block">When enabled, all commits must be made to a non-protected branch and submitted via a pull request with at least one approved review and no changes requested before it can be merged into <span style="box-sizing:border-box;font-weight:600">master</span>.</span></div></div><div class="gmail-js-protected-branch-options gmail-protected-branch-options gmail-active" style="box-sizing:border-box;margin-left:20px;opacity:1;font-size:14px"><div class="gmail-form-checkbox" style="box-sizing:border-box;padding-left:20px;margin:15px 0px;vertical-align:middle"><label style="box-sizing:border-box;font-weight:600"><input type="checkbox" name="has_required_statuses" class="gmail-js-protected-branch-option gmail-js-required-status-toggle" checked style="font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;font-size:inherit;line-height:inherit;font-family:inherit;margin-top:4px;overflow:visible;padding:0px;float:left;vertical-align:middle">Require status checks to pass before merging</label><span class="gmail-note" style="box-sizing:border-box;min-height:17px;margin:0px;font-size:13px;color:rgb(88,96,105);display:block">Choose which <a href="https://developer.github.com/v3/repos/statuses/" style="box-sizing:border-box;background-color:transparent;color:rgb(3,102,214);text-decoration-line:none">status checks</a> must pass before branches can be merged into <span style="box-sizing:border-box;font-weight:600">master</span>. When enabled, commits must first be pushed to another branch, then merged or pushed directly to <span style="box-sizing:border-box;font-weight:600">master</span> after status checks have passed.</span><div class="gmail-js-required-statuses" style="box-sizing:border-box"><div class="gmail-form-checkbox" style="box-sizing:border-box;padding-left:20px;margin:15px 0px;vertical-align:middle"><label style="box-sizing:border-box;font-weight:600"><input type="checkbox" name="strict_required_status_checks_policy" class="gmail-js-protected-branch-option" checked style="font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;font-size:inherit;line-height:inherit;font-family:inherit;margin-top:4px;overflow:visible;padding:0px;float:left;vertical-align:middle">Require branches to be up to date before merging</label><span class="gmail-note" style="box-sizing:border-box;min-height:17px;margin:0px;font-size:13px;color:rgb(88,96,105);display:block">This ensures the branch has been tested with the latest code on <span style="box-sizing:border-box;font-weight:600">master</span>.</span></div><div class="gmail-listgroup gmail-listgroup-sm gmail-automated-check-options" style="box-sizing:border-box;list-style:none;border:1px solid rgb(229,229,229);border-radius:3px;margin-top:10px"><div class="gmail-listgroup-item gmail-listgroup-header" style="box-sizing:border-box;line-height:26px;min-height:inherit;padding:5px 10px;font-size:13px;color:rgb(88,96,105);border-top:0px;border-bottom:1px solid rgb(229,229,229)">Status checks found in the last week for this repository</div><div class="gmail-listgroup-overflow" style="box-sizing:border-box;max-height:240px;overflow-y:auto;background-color:rgb(245,245,245)"><div class="gmail-listgroup-item gmail-js-protected-branches-item" style="box-sizing:border-box;line-height:26px;min-height:inherit;padding:5px 10px;font-size:13px;color:rgb(88,96,105)"><label style="box-sizing:border-box;font-weight:600;font-size:inherit"><input type="checkbox" class="gmail-js-required-status-checkbox" name="contexts[]" value="codecov/patch" style="font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;font-size:inherit;line-height:inherit;font-family:inherit;margin-right:5px;overflow:visible;padding:0px;float:none;vertical-align:middle"> codecov/patch</label></div><div class="gmail-listgroup-item gmail-js-protected-branches-item" style="box-sizing:border-box;line-height:26px;min-height:inherit;padding:5px 10px;font-size:13px;color:rgb(88,96,105);border-top:1px solid rgb(229,229,229)"><label style="box-sizing:border-box;font-weight:600;font-size:inherit"><input type="checkbox" class="gmail-js-required-status-checkbox" name="contexts[]" value="codecov/project" style="font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;font-size:inherit;line-height:inherit;font-family:inherit;margin-right:5px;overflow:visible;padding:0px;float:none;vertical-align:middle"> codecov/project</label></div><div class="gmail-listgroup-item gmail-js-protected-branches-item" style="box-sizing:border-box;line-height:26px;min-height:inherit;padding:5px 10px;font-size:13px;color:rgb(88,96,105);border-top:1px solid rgb(229,229,229)"><label style="box-sizing:border-box;font-weight:600;font-size:inherit"><input type="checkbox" class="gmail-js-required-status-checkbox" name="contexts[]" value="continuous-integration/appveyor/branch" style="font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;font-size:inherit;line-height:inherit;font-family:inherit;margin-right:5px;overflow:visible;padding:0px;float:none;vertical-align:middle"> continuous-integration/appveyor/branch</label></div><div class="gmail-listgroup-item gmail-js-protected-branches-item" style="box-sizing:border-box;line-height:26px;min-height:inherit;padding:5px 10px;font-size:13px;color:rgb(88,96,105);border-top:1px solid rgb(229,229,229)"><label style="box-sizing:border-box;font-weight:600;font-size:inherit"><input type="checkbox" class="gmail-js-required-status-checkbox" name="contexts[]" value="continuous-integration/appveyor/pr" checked style="font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;font-size:inherit;line-height:inherit;font-family:inherit;margin-right:5px;overflow:visible;padding:0px;float:none;vertical-align:middle"> continuous-integration/appveyor/pr<span class="gmail-label gmail-Label--gray-darker gmail-float-right gmail-js-required-status-badge" style="box-sizing:border-box;display:inline-block;padding:3px 4px;font-size:12px;line-height:1;color:rgb(255,255,255);border-radius:2px;background-color:rgb(106,115,125);margin-top:4px;float:right">Required</span></label></div><div class="gmail-listgroup-item gmail-js-protected-branches-item" style="box-sizing:border-box;line-height:26px;min-height:inherit;padding:5px 10px;font-size:13px;color:rgb(88,96,105);border-top:1px solid rgb(229,229,229)"><label style="box-sizing:border-box;font-weight:600;font-size:inherit"><input type="checkbox" class="gmail-js-required-status-checkbox" name="contexts[]" value="continuous-integration/travis-ci" checked style="font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;font-size:inherit;line-height:inherit;font-family:inherit;margin-right:5px;overflow:visible;padding:0px;float:none;vertical-align:middle"> continuous-integration/travis-ci<span class="gmail-label gmail-Label--gray-darker gmail-float-right gmail-js-required-status-badge" style="box-sizing:border-box;display:inline-block;padding:3px 4px;font-size:12px;line-height:1;color:rgb(255,255,255);border-radius:2px;background-color:rgb(106,115,125);margin-top:4px;float:right">Required</span></label></div></div></div></div></div></div><dl class="gmail-form-group gmail-js-protected-branch-options gmail-protected-branch-options gmail-form-checkbox gmail-active" style="box-sizing:border-box;padding-left:20px;margin:15px 0px 15px 20px;vertical-align:middle;opacity:1;font-size:14px"><dt style="box-sizing:border-box;margin:0px 0px 6px"><label style="box-sizing:border-box;font-weight:600"><input type="checkbox" name="authorized_users_or_teams" class="gmail-js-protected-branch-option gmail-js-authorized-branch-pushers-toggle" style="font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;font-size:inherit;line-height:inherit;font-family:inherit;margin-top:4px;overflow:visible;padding:0px;float:left;vertical-align:middle">Restrict who can push to this branch</label><span class="gmail-note" style="box-sizing:border-box;min-height:17px;margin:0px;font-size:13px;color:rgb(88,96,105);display:block">Specify people or teams allowed to push to this branch. Required status checks will still prevent these people from merging if the checks fail.</span></dt></dl><div class="gmail-js-protected-branch-options gmail-js-toggler-container gmail-protected-branch-options gmail-active" style="box-sizing:border-box;margin-left:20px;opacity:1;font-size:14px"><div class="gmail-form-checkbox" style="box-sizing:border-box;padding-left:20px;margin:15px 0px;vertical-align:middle"><label style="box-sizing:border-box;font-weight:600"><input type="checkbox" name="enforce_all_for_admins" class="gmail-js-protected-branch-option gmail-js-protected-branch-include-admin-toggle" checked style="font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;font-size:inherit;line-height:inherit;font-family:inherit;margin-top:4px;overflow:visible;padding:0px;float:left;vertical-align:middle">Include administrators</label><span class="gmail-note" style="box-sizing:border-box;min-height:17px;margin:0px;font-size:13px;color:rgb(88,96,105);display:block">Enforce all configured restrictions for administrators.</span></div></div><br></h2></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 30, 2017 at 11:24 PM, Christian Brueffer <span dir="ltr"><<a href="mailto:christian@brueffer.de" target="_blank">christian@brueffer.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 2017-08-24 12:34, Peter Cock wrote:<br>
> On Wed, Nov 11, 2015 at 5:19 PM, Peter Cock <<a href="mailto:p.j.a.cock@googlemail.com">p.j.a.cock@googlemail.com</a>> wrote:<br>
>> On Fri, Sep 4, 2015 at 11:20 AM, Peter Cock <<a href="mailto:p.j.a.cock@googlemail.com">p.j.a.cock@googlemail.com</a>> wrote:<br>
>>> On Fri, Sep 4, 2015 at 10:07 AM, Christian Brueffer<br>
>>> <<a href="mailto:christian@brueffer.de">christian@brueffer.de</a>> wrote:<br>
>>>> On 2015-09-04 11:02, Peter Cock wrote:<br>
>>>>><br>
>>>>> Hi all,<br>
>>>>><br>
>>>>> GitHub have rolled out some interesting new functionality:<br>
>>>>> <a href="https://github.com/blog/2051-protected-branches-and-required-status-checks" rel="noreferrer" target="_blank">https://github.com/blog/2051-<wbr>protected-branches-and-<wbr>required-status-checks</a><br>
>>>>><br>
>>>>> The ability to protect the main branch should prevent any accidental<br>
>>>>> rewriting of the history (from a forced push), which would cause<br>
>>>>> widespread inconvenience now we have so many forks. I'd like to<br>
>>>>> enable this if no one objects.<br>
><br>
> We turned this on in November 2015.<br>
><br>
>>>>> The second new feature would disable the web-GUI merge button<br>
>>>>> until our TravisCI tests have passed. I usually do the merges at<br>
>>>>> the command line anyway (sometimes rebasing, often to add a<br>
>>>>> note to the NEWS and CONTRIB files), but again these seems like<br>
>>>>> a sensible precaution? What do people think?<br>
>><br>
>> ...<br>
>><br>
>> Right now I have not enabled this higher level of protection, the<br>
>> text for which reads:<br>
>><br>
>> "Require status checks to pass before merging.<br>
>> Choose which status checks must pass before branches can be<br>
>> merged into master. When enabled, commits must first be pushed<br>
>> to another branch, then merged or pushed directly to master after<br>
>> status checks have passed."<br>
><br>
> Many times we as a group have broken the builds on the master<br>
> branch (TravisCI and/or AppVeyor tests were failing). This can<br>
> cause work for each other, but worse it causes false-positives for<br>
> testing pull requests which may deter new contributors.<br>
><br>
> If anyone can push directly to the master branch this is all too<br>
> easy to do, even a "harmless" edit can sometimes surprise us<br>
> (e.g. fails a style check, or impacts a doctest), and I'm guilty of<br>
> this too.<br>
><br>
> How do people feel about changing our policy to say changes<br>
> should all happen via pull requests (and take advantage of the<br>
> GitHub settings to enforce this)?<br>
><br>
<br>
</div></div>+1 from me, seems like a good idea.<br>
<div class="HOEnZb"><div class="h5"><br>
Chris<br>
______________________________<wbr>_________________<br>
Biopython-dev mailing list<br>
<a href="mailto:Biopython-dev@mailman.open-bio.org">Biopython-dev@mailman.open-<wbr>bio.org</a><br>
<a href="http://mailman.open-bio.org/mailman/listinfo/biopython-dev" rel="noreferrer" target="_blank">http://mailman.open-bio.org/<wbr>mailman/listinfo/biopython-dev</a><br>
</div></div></blockquote></div><br></div>