Vova,

Everything you described sound good to me.

I'd like to propose to create special page at AI Wiki and to describe
checklist.
In case we'll find something should be changed/improved it will be easy to
update the page.

2018-04-20 0:53 GMT+03:00 Nikolay Izhikov <nizhi...@apache.org>:

> Hello, Vladimir.
>
> Thank you for seting up this discussion.
>
> As we discussed, I think an important part of this check list is
> compatibility rules.
>
> * What should be backward compatible?
> * How should we maintain it?
>
> > 3) If ticket changes public API or existing behavior, at least two
> commiters should approve the changes
>
> We can learn from other open source project experience.
> Apache Kafka [1], for example, requires KIP(kafka improvement proposal)
> for *every* major change.
> Major change definition includes public API.
>
> [1] https://cwiki.apache.org/confluence/display/KAFKA/
> Kafka+Improvement+Proposals
>
>
> В Чт, 19/04/2018 в 23:00 +0300, Vladimir Ozerov пишет:
> > Hi Igniters,
> >
> > It's glad to see our community becomes larger every day. But as it grows
> it
> > becomes more and more difficult to manage review and merge processes and
> > keep quality of our decisions at the proper level. More contributors,
> more
> > commits, more components interlinked with each other in subtle ways.
> >
> > I would like to propose to setup a formal review checklist. This would
> be a
> > set of actions every reviewer needs to check before approving merge of a
> > certain feature. Passing the checklist would be *necessary but not
> > sufficient* phase before commit could be added to the main branch. The
> > checklist would help us to detect a lot of common problems such a broken
> > tests or bad UX earlier, and would help contributors lead their pull
> > requests to merge.
> >
> > Hallmarks of a good checklist:
> > - It must be followed be everyone without exceptions
> > - It must be clear and disallow multiple interpretations
> > - It must be lightweight, otherwise Ignite development would become a
> > nightmare
> > - It must be non-blocking, i.e. inacessibility of a single contributor
> > should not block ticket progress forever.
> >
> > Please let me know if you think the idea makes sense. If we agree on it,
> > let's start defining action items for the checklist. My 2 cents:
> > 1) All unit tests pass on TC without new failures
> > 2) If ticket targets specific component, it should be reviewed by
> > component's maintainer*
> > 3) If ticket changes public API or existing behavior, at least two
> > commiters should approve the changes **
> >
> > Thoughts?
> >
> > Vladimir.
> >
> > * TBD: Review component list and define maintainers; define what to do if
> > maintainer is unavailable
> > ** TBD: Define what is "public API"
>

Reply via email to