Closing the loop on this thread - I don't feel like there was enough
agreement to go forwards with disabling the merge button, so I'm going to
drop this for now.

I would like to see everyone make sure that they only merge green PRs.
Maybe we can go with a name and shame approach? As in, we shouldn't see any
new PRs show up in this query:

https://github.com/apache/geode/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Amerged+status%3Afailure

-Dan

On Tue, Nov 13, 2018 at 10:19 AM Ryan McMahon <rmcma...@pivotal.io> wrote:

> +1 I like this idea, but I recognize that it will be a challenge when there
> is still some flakiness to the pipeline.  I think we'd need clear
> guidelines on what to do if your PR fails due to something seemingly
> unrelated.  For instance, we ran into GEODE-5943 (flaky EvictionDUnitTest)
> in our last PR, and saw that there was already an open ticket for the
> flakiness (we even reverted our change and reproduced to be sure).  So we
> triggered another PR pipeline and it passed the second time.  Is rerunning
> the pipeline again sufficient in this case?  Or should we have stopped what
> we were doing and took up GEODE-5943, assuming it wasn't assigned to
> someone?  If it was already assigned to someone, do we wait until that bug
> is fixed before we run through the PR pipeline again?
>
> I think if anything this will help us treat bugs that are causing a red
> pipeline as critical, and I think that is a good thing.  So I'm still +1
> despite the flakiness.  Just curious what people think about how we should
> handle cases where there is a known failure and it is indeed unrelated to
> our PR.
>
> Ryan
>
>
> On Mon, Nov 12, 2018 at 2:49 PM Jinmei Liao <jil...@pivotal.io> wrote:
>
> > Just to clarify, that flaky EvictionDUnitTest is old flaky. The PR to
> > refactor the test passed all checks, even the repeatTest as well. I had a
> > closed PR that just touched the "un-refactored" EvictionDUnitTest, it
> > wouldn't even pass the repeatTest at all.
> >
> > On Mon, Nov 12, 2018 at 2:04 PM Dan Smith <dsm...@pivotal.io> wrote:
> >
> > > To be clear, I don't think we have an issue of untrustworthy committers
> > > pushing code they know is broken to develop.
> > >
> > > The problem is that it is all to easy to look at a PR with some
> failures
> > > and *assume* your code didn't cause the failures and merge it anyway. I
> > > think we should all be at least rerunning the tests and not merging the
> > PR
> > > until everything passes. If the merge button is greyed out, that might
> > help
> > > communicate that standard to everyone.
> > >
> > > Looking at the OpenJDK 8 metrics, it looks to me like most of the
> issues
> > > are recently introduced (builds 81-84 and the EvictionDUnitTest), not
> old
> > > flaky tests. So I think we were a little more disciplined always
> > listening
> > > to what the checks are telling us we would have less noise in the long
> > run.
> > >
> > >
> > >
> >
> https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-metrics/jobs/GeodeDistributedTestOpenJDK8Metrics/builds/23
> > >
> > > -Dan
> > >
> > > On Mon, Nov 12, 2018 at 11:21 AM Udo Kohlmeyer <u...@apache.org> wrote:
> > >
> > > > 0
> > > >
> > > > Patrick does make a point. The committers on the project have been
> > voted
> > > > in as "responsible, trustworthy and best of breed" and rights and
> > > > privileges according to those beliefs have been bestowed.
> > > >
> > > > We should live those words and trust our committers. In the end.. If
> > > > there is a "rotten" apple in the mix this should be addressed, maybe
> > not
> > > > as public flogging, but with stern communications.
> > > >
> > > > On the other side, I've also seen the model where the submitter of PR
> > is
> > > > not allowed to merge + commit their own PR's. That befalls to another
> > > > committer to complete this task, avoiding the whole, "I'll just
> quickly
> > > > commit without due diligence".
> > > >
> > > > --Udo
> > > >
> > > >
> > > > On 11/12/18 10:23, Patrick Rhomberg wrote:
> > > > > -1
> > > > >
> > > > > I really don't think this needs to be codified.  If people are
> > merging
> > > > red
> > > > > PRs, that is a failing as a responsible developer.  Defensive
> > > programming
> > > > > is all well and good, but this seems like it's a bit beyond the
> pale
> > in
> > > > > that regard.  I foresee it making the correction of a red main
> > pipeline
> > > > > must more difficult that it needs to be.  And while it's much
> better
> > > than
> > > > > it had been, I am (anecdotally) still seeing plenty of flakiness in
> > my
> > > > PRs,
> > > > > either resulting from infra failures or test classes that need to
> be
> > > > > refactored or reevaluated.
> > > > >
> > > > > If someone is merging truly broken code that has failed precheckin,
> > > that
> > > > > seems to me to be a discussion to have with that person.  <s> If it
> > > > > persists, perhaps a public flogging would be in order. </s> But at
> > the
> > > > end
> > > > > of the day, the onus is on us to be responsible developers, and no
> > > amount
> > > > > of gatekeeping is going to be a substitute for that.
> > > > >
> > > > > On Mon, Nov 12, 2018 at 9:38 AM, Galen O'Sullivan <
> > > gosulli...@pivotal.io
> > > > >
> > > > > wrote:
> > > > >
> > > > >> I'm in favor of this change, but only if we have a way to restart
> > > > failing
> > > > >> PR builds without being the PR submitter. Any committer should be
> > able
> > > > to
> > > > >> restart the build. The pipeline is still flaky enough and I want
> to
> > > > avoid
> > > > >> the situation where a new contributor is asked repeatedly to push
> > > empty
> > > > >> commits to trigger a PR build (in between actual PR review) and
> > their
> > > PR
> > > > >> gets delayed by days if not weeks. That's a real bad experience
> for
> > > the
> > > > >> people we want to be inviting in.
> > > > >>
> > > > >> On Mon, Nov 12, 2018 at 9:23 AM Alexander Murmann <
> > > amurm...@pivotal.io>
> > > > >> wrote:
> > > > >>
> > > > >>> What's the general consensus on flakiness of the pipeline for
> this
> > > > >> purpose?
> > > > >>> If there is consensus that it's still too flaky to disable the
> > merge
> > > > >> button
> > > > >>> on failure, we should probably consider doubling down on that
> issue
> > > > >> again.
> > > > >>> It's hard to tell from just looking at the dev pipeline because
> you
> > > > >> cannot
> > > > >>> see easily what failures were legitimate.
> > > > >>>
> > > > >>> On Mon, Nov 12, 2018 at 8:47 AM Bruce Schuchardt <
> > > > bschucha...@pivotal.io
> > > > >>>
> > > > >>> wrote:
> > > > >>>
> > > > >>>> I'm in favor of this.
> > > > >>>>
> > > > >>>> Several times over the years we've made a big push to get
> > precheckin
> > > > to
> > > > >>>> reliably only to see rapid degradation due to crappy code being
> > > pushed
> > > > >>>> in the face of precheckin failures.  We've just invested another
> > > half
> > > > >>>> year doing it again.  Are we going to do things differently now?
> > > > >>>> Disabling the Merge button on test failure might be a good
> start.
> > > > >>>>
> > > > >>>> On 11/9/18 12:55 PM, Dan Smith wrote:
> > > > >>>>
> > > > >>>>> Hi all,
> > > > >>>>>
> > > > >>>>> Kirks emails reminded me - I think we are at the point now with
> > our
> > > > >> PR
> > > > >>>>> checks where we should not be merging anything to develop that
> > > > >> doesn't
> > > > >>>> pass
> > > > >>>>> all of the PR checks.
> > > > >>>>>
> > > > >>>>> I propose we disable the merge button unless a PR is passing
> all
> > of
> > > > >> the
> > > > >>>>> checks. If we are in agreement I'll follow up with infra to see
> > how
> > > > >> to
> > > > >>>> make
> > > > >>>>> that happen.
> > > > >>>>>
> > > > >>>>> This would not completely prevent pushing directly to develop
> > from
> > > > >> the
> > > > >>>>> command line, but since most developers seem to be using the
> > github
> > > > >>> UI, I
> > > > >>>>> hope that it will steer people towards getting the PRs passing
> > > > >> instead
> > > > >>> of
> > > > >>>>> using the command line.
> > > > >>>>>
> > > > >>>>> Thoughts?
> > > > >>>>> -Dan
> > > > >>>>>
> > > > >>>>
> > > >
> > > >
> > >
> >
> >
> > --
> > Cheers
> >
> > Jinmei
> >
>

Reply via email to