Hi Joe,

Thanks for bringing this to our attention.

In general, I agreed with Chesnay's reply on PR [1]. For the rule-3, we might 
indeed create another PR to add documentation previously. And I think if 
forcing to obey it to include the documentation in the same PR, that could 
benefit the review progress. Thus, I am not against for this rule.

For the rule related to the PR description, I think current flinkbot has tools 
to let committer to run command like "@flinkbot approve description". However, 
I think many committers did not leverage this, which makes the bot useless at 
most of the time. I think this discussion draws the attention that whether we 
should strictly obey the review process via using flinkbot or still not force 
committer to leverage it.

[1] https://github.com/apache/flink/pull/17801#issuecomment-970048058

Best
Yun Tang

On 2021/11/16 10:38:39 Ingo Bürk wrote:
> > On the other hand I am a silent fan of the current PR template because
> > it also provides a summary of the PR to make it easier for committers
> > to determine the impacts.
> 
> I 100% agree that part of a PR (and thus the template) should be the
> summary of the what, why, and how of the changes. I also see value in
> marking a PR as a breaking change if the author is aware of it being one
> (of course a committer needs to verify this nonetheless).
> 
> But apart from that, there's a lot of questions in there that no one seems
> to care about, and e.g. the question of how a change can be verified seems
> fairly useless to me: if tests have been changed, that can trivially be
> seen in the PR. The CI runs on top of that anyway as well. So I never
> really understood why I need to manually list all the tests I have touched
> here (or maybe I misunderstood this question the entire time?).
> 
> If the template is supposed to be useful for the committer rather than the
> author, it would have to be mandatory to fill it out, which de-facto it
> isn't.
> 
> Also, even if we keep all the same information, I would still love to see
> it converted into checkboxes. I know it's a small detail, but it's much
> less annoying than the current template. Something like
> 
> ```
> - [ ] This pull requests changes the public API (i.e., any class annotated
> with `@Public(Evolving)`)
> - [ ] This pull request adds, removes, or updates dependencies
> - [ ] I have updated the documentation to reflect the changes made in this
> pull request
> ```
> 
> On Tue, Nov 16, 2021 at 10:28 AM Fabian Paul <fp...@apache.org> wrote:
> 
> > Hi all,
> >
> > Maybe I am the devil's advocate but I see the stability of master and
> > the definition of done as disjunct properties. I think it is more a
> > question of prioritization that test instabilities are treated as
> > critical tickets and have to be addressed before continuing any other
> > work. It will always happen that we merge code that is not 100%
> > stable; that is probably the nature of software development. I agree
> > when it comes to documentation that PRs are only mergeable if the
> > documentation has also been updated.
> >
> > On the other hand I am a silent fan of the current PR template because
> > it also provides a summary of the PR to make it easier for committers
> > to determine the impacts. It also reminds the contributors of our
> > principles i.e. how do you verify the change should probably not be
> > answered with "test were not possible".
> >
> > I agree with @Martijn Visser that we can improve the CI i.e.
> > performance regression test, execute s3 test but these things should
> > be addressed in another discussion.
> >
> > So I would prefer to keep the current PR template.
> >
> > Best,
> > Fabian
> >
> > On Tue, Nov 16, 2021 at 10:17 AM Martijn Visser <mart...@ververica.com>
> > wrote:
> > >
> > > Hi all,
> > >
> > > Thanks for bringing this up for this discussion, because I think it's an
> > > important aspect.
> > >
> > > From my perspective, a 'definition of done' serves two purposes:
> > > 1. It informs the contributor on what's expected when making a
> > contribution
> > > in the form of a PR
> > > 2. It instructs the committer on what to check before accepting/merging
> > a PR
> > >
> > > I would use a Github template primarily to deal with the first purpose. I
> > > think that should be short and easily understandable, preferably with as
> > > many automated checks as possible.
> > >
> > > I would propose something like this to condense information.
> > >
> > > 1. It is following the code contribution process, including code style
> > and
> > > quality guide https://flink.apache.org/contributing/contribute-code.html
> > > 2. It is covered by tests and all tests have passed
> > > 3. If it has user facing changes the documentation has been updated
> > > according to the documentation style guide
> > >
> > > These 3 DoD can probably be broken down into multiple automation tests:
> > >
> > > * Run a spotless check
> > > * Run a license check
> > > * Compile application
> > > * Run tests
> > > * Run E2E tests
> > > * Build documentation
> > > * Check if JIRA has been mentioned and exists in the PR title and commit
> > > message
> > > etc.
> > >
> > > Best regards,
> > >
> > > Martijn
> > >
> > > On Tue, 16 Nov 2021 at 09:08, Francesco Guardiani <
> > france...@ververica.com>
> > > wrote:
> > >
> > > > +1 with Ingo proposal, the goal of the template should be to help
> > developer
> > > > to do a self check of his/her PR quality, not to define whether
> > something
> > > > is done or not. It's up to the committer to check that the "definition
> > of
> > > > done" is fulfilled.
> > > >
> > > > > The Definition of Done as suggested:
> > > >
> > > > This checklist makes sense to me, although it seems to me we already
> > have
> > > > these bullet points defined here:
> > > > https://flink.apache.org/contributing/contribute-code.html
> > > >
> > > > On Tue, Nov 16, 2021 at 8:16 AM Ingo Bürk <i...@ververica.com> wrote:
> > > >
> > > > > Hi Joe,
> > > > >
> > > > > thank you for starting this discussion. Having a common agreement on
> > what
> > > > > to expect from a PR for it to be merged is very much a worthwhile
> > goal.
> > > > >
> > > > > I'm slightly worried about the addition to the PR template. We
> > shouldn't
> > > > > make opening PRs even more difficult (unless it adds sufficient
> > benefit).
> > > > >
> > > > > There are two main benefits to have from using templates: requiring
> > > > > information from authors to automate certain feedback, and serving
> > as a
> > > > > self-control checklist for contributors.
> > > > >
> > > > > As it stands, a large number of PRs don't fill out the template, and
> > I
> > > > > haven't yet seen anyone not merge a PR over that, so de-facto we are
> > not
> > > > > using it for the former.
> > > > >
> > > > > For the latter purpose of contributors having a checklist for
> > > > themselves, I
> > > > > think the current template is too long already and contains the wrong
> > > > > content. Being short here is key if we want anyone to read it, and
> > > > > personally I would cut it down significantly to a description and a
> > > > couple
> > > > > of checkboxes.
> > > > >
> > > > > This isn't exactly the scope of your proposal, but personally I
> > wouldn't
> > > > > like to add even more questions that need to be filled out,
> > especially
> > > > > since they don't actually need to be filled out. It just creates an
> > > > > annoying burden for contributors and is ignored by those who might
> > > > benefit
> > > > > most from reading it anyway.
> > > > >
> > > > >
> > > > > Ingo
> > > > >
> > > > >
> > > > > On Mon, Nov 15, 2021, 22:36 Johannes Moser <j...@ververica.com>
> > wrote:
> > > > >
> > > > > > Dear Flink Community,
> > > > > >
> > > > > > We as the release managers of the 1.15 release are suggesting to
> > > > > introduce
> > > > > > a “Definition of Done".
> > > > > >
> > > > > > Let me elaborate a bit on the reasons:
> > > > > > * During the release process for 1.14 the stability of master was
> > > > > > sometimes in a state that made contributing to Apache Flink a bad
> > > > > > experience.
> > > > > > * Some of the changes that have been contributed seem to be
> > unusable by
> > > > > > users because of defects.
> > > > > > * Documentation is neglected which also leads to users unable to
> > make
> > > > use
> > > > > > of changes. One of the reasons is, because documentation is often
> > > > pushed
> > > > > to
> > > > > > a later state.
> > > > > >
> > > > > > With this definition of done awareness and sensibility for these
> > aspect
> > > > > > should be increased. Both, for the ones who are committing and for
> > the
> > > > > ones
> > > > > > that are reviewing.
> > > > > > We focus on code quality, testing and documentation. A shared
> > > > > > understanding is created.
> > > > > >
> > > > > > The Definition of Done as suggested:
> > > > > >
> > > > > > -
> > > > > > A PR is done and can be merged, when:
> > > > > >
> > > > > > 1. It is following the code contribution process
> > > > > > 2. It is implemented according to the code style and quality guide.
> > > > > > 3. If it has user facing changes the documentation has been updated
> > > > > > according to the documentation style guide.
> > > > > > 4. It is covered by tests.
> > > > > > 5. All tests passed.
> > > > > > -
> > > > > >
> > > > > > There are two PRs to illustrate the changes.
> > > > > > https://github.com/apache/flink-web/pull/481 <
> > > > > > https://github.com/apache/flink-web/pull/481>
> > > > > > https://github.com/apache/flink/pull/17801 <
> > > > > > https://github.com/apache/flink/pull/17801>
> > > > > >
> > > > > >
> > > > > > It isn’t the goal to make it harder to get changes into Apache
> > Flink.
> > > > It
> > > > > > is rather the opposite of making contributing and using Apache
> > Flink a
> > > > > > better experience.
> > > > > > By creating awareness a push towards quality and usability should
> > > > happen.
> > > > > >
> > > > > > I’m happy to hear your feedback.
> > > > > >
> > > > > > Best,
> > > > > > Joe
> > > > >
> > > >
> >
> 

Reply via email to