@Blake Bender The same goes for the geode code. The PR pipeline is *the* way to 
know if we broke something or not. Most people don't know how to run the 
individual tests.

Thanks,
Mark

On 5/7/21, 10:07 AM, "Blake Bender" <bbl...@vmware.com> wrote:

    +1 for draft mode as default.  I'm forever switching to it in geode-native 
already, because the most convenient way for us to get feedback on build/test 
status for all platforms is to run a change through CI, and the only way to do 
that is to submit it as a PR.

    Thanks,

    Blake


    -----Original Message-----
    From: Alberto Bustamante Reyes <alberto.bustamante.re...@est.tech> 
    Sent: Thursday, May 6, 2021 1:19 PM
    To: dev@geode.apache.org
    Subject: RE: Reminder to use draft mode

    +1 to Mark's proposal of setting draft mode as default when creating PRs 
(Im wondering if a new VOTE thread is needed to approve it)

    And also +1 to Donal's comments.

    ________________________________
    De: Darrel Schneider <dar...@vmware.com>
    Enviado: jueves, 6 de mayo de 2021 21:43
    Para: dev@geode.apache.org <dev@geode.apache.org>
    Asunto: Re: Reminder to use draft mode

    +1 to Donal's comments
    ________________________________
    From: Donal Evans <doev...@vmware.com>
    Sent: Thursday, May 6, 2021 11:44 AM
    To: dev@geode.apache.org <dev@geode.apache.org>
    Subject: Re: Reminder to use draft mode

    +1 to Naba's PR flow described above.

    Creating PRs in draft mode is almost always the best choice, as it prevents 
people from being tagged to review a set of changes that may change 
significantly due to test failures and only requires a single click to convert 
to the "ready to review" state - hardly a major inconvenience.

    However, the real tricky question here seems to be "When should you move a 
PR from "Ready to review" back into draft mode?" I tend to agree with Jens that 
a flaky test failure by itself isn't enough to warrant putting a PR back into 
draft mode, as it's often possible to identify the failure as being due to an 
existing known bug and merge the PR knowing that your changes aren't the cause. 
We don't require that all PR tests are green before merging, just some of them, 
so it's reasonable to assume that we don't require all PR tests to be green 
before a PR is considered ready for review either.

    Minor edits due to review comments (like spelling mistakes or minor code 
quality/style changes) also don't feel like they should cause a PR to be put 
back into draft mode, as while the contents of the PR may change because of 
them, it won't invalidate other in-progress reviews if it does, or 
significantly alter the nature of the PR.

    For me, the bar for whether a PR should be put back into draft mode is if 
you know that its current state is not reflective of the final state that will 
be merged into develop. In general, the only time that should happen is if 
you've received review feedback that will require a change of approach or 
significant refactoring/additional code. It's the difference between "needs a 
little polish" and "needs more work," I think. Obviously, what counts as 
"significant" is entirely subjective, so this isn't much use as a hard and fast 
rule, but a rough guide might be that if a reviewer has requested changes that 
would invalidate or render obsolete/redundant any additional reviews that come 
in before those changes are applied, moving back to draft mode would probably 
be a good idea.

    Donal
    ________________________________
    From: Nabarun Nag <n...@vmware.com>
    Sent: Thursday, May 6, 2021 10:22 AM
    To: dev@geode.apache.org <dev@geode.apache.org>
    Subject: Re: Reminder to use draft mode

    I feel that Owen has a valid point and I myself feel that it is ok to start 
the PR in draft mode till the pre-check tests pass.

    There has been this situation where,

      *   PR is created (reviewers are assigned)
      *   approved
      *   Tests fail
      *   code is changed
      *   no reviews
      *   code is merged

    Hence code that is not reviewed has been merged

    This way of doing work also has the following advantages:

      *   A reviewer does not have to review a code that causes tests to fail
      *   A reviewer does not have to review code twice before failure and then 
again after changing the code to fix the failure
      *   Unreviewed code post-test fixes do not get merged

    I think this way of working saves a critical amount of time for engineers 
who review code.

    This flow of PRs feels more efficient:


      *   Create PR in draft mode - no reviewers assigned
      *   PRechecks fail
      *   change/fix code
      *   tests pass - all green
      *   convert PR to ready for review - reviewers assigned
      *   reviewers review

    Regards
    Naba



    ________________________________
    From: Owen Nichols <onich...@vmware.com>
    Sent: Thursday, May 6, 2021 9:59 AM
    To: dev@geode.apache.org <dev@geode.apache.org>
    Subject: Re: Reminder to use draft mode

    Given the lack of consensus, it sounds like it will not be possible to make 
any assumptions about a PR based on whether it is in Draft mode or not.  I will 
stop retriggering flaky checks or changing PRs to draft status.  My apologies 
for the inconvenience this has caused.

    On 5/6/21, 9:47 AM, "Jens Deppe" <jde...@vmware.com> wrote:

        I don’t think we can presume everyone has the same working style. For 
myself I’ll happily review a PR that has a failing check. I’m OK if it has some 
innocuous ‘housekeeping’ error or unrelated failure.

        I don’t retrigger PR failures, for unrelated errors, just to ‘get to 
green’ – related, I don’t expect anyone to do that on my part either. It would 
be frustrating if I was about to merge something and someone retriggers a job. 
Yes I do merge if I’m 100% confident the failed check is unrelated. I don’t 
merge if any checks are still pending.

        Perhaps this is just relevant to my current situation, but most of my 
PRs are module specific and so there is collaboration between my team and we 
typically know the state of our various PRs. I don’t feel like there is much 
need for any process around switching in and out of Draft mode. Much less for 
an ‘external’ contributor to make decisions on our behalf.

        Has some situation arisen that is driving this? It feels like there is 
some underlying issue that isn’t being fully communicated.

        --Jens

        From: Owen Nichols <onich...@vmware.com>
        Date: Thursday, May 6, 2021 at 9:12 AM
        To: dev@geode.apache.org <dev@geode.apache.org>
        Subject: Re: Reminder to use draft mode
        A PR in "Draft" mode simply conveys that at least one more commit is 
coming before it will be "done".  Reviewers generously volunteer their time to 
look at your PR, and are welcome to look at it while in draft mode if they 
wish, but if they are quite busy, some may prefer to wait until the PR is 
plausibly code-complete before setting aside time to review it.

        Sorry if I wasn't clear, I don't mean that flaky failures should mean a 
PR is not done.  You can always refer to the latest mass test report for a list 
of known flaky failures, but often I will see those and retrigger them for you 
anyway.

        I expect that most PR submitters will be monitoring their own PR checks 
and taking it back to draft mode as soon as they realize more changes are 
needed.  But if as a community we agree to use draft mode to communicate status 
in this way, it shouldn't matter who does it.

        Due to CODEOWNERS, some reviewers have a huge number of PRs in their 
queue.  Clearly communicating the status of your PR allows reviewers to focus 
their time on PRs that are ready for review.

        On 5/6/21, 8:51 AM, "Jens Deppe" <jde...@vmware.com> wrote:

            Comments inline…

            Please keep your PR in draft mode anytime it is not ready to be 
reviewed.

            This includes if you have received request for changes, or if any 
PR checks are not passing.

            How do I know if everyone is done reviewing? Or even who might be 
reviewing? Different reviewers may be looking at different areas, depending on 
the scope of the change. If the PR suddenly switches back to ‘Draft` what does 
that mean if I’m reviewing it? Worse still, if I’m the owner and someone else 
switches it to Draft I’m not notified.

            Additionally, many PR checks fail for reasons unrelated to the PR 
so switching blindly to ‘Draft’ seems pointless.


            If you’re reviewing someone’s PR, and notice any checks not passing 
or you are requesting changes, please also click “Convert to draft”.

            I really don’t agree with this – if you have an issue with a PR for 
whatever reason, please respect the author and address it directly with them. I 
certainly feel uncomfortable ‘messing’ with someone else’s PR and, by the same 
token, don’t want my PRs adjusted without my input.

            --Jens


Reply via email to