On Oct 20, 2014, at 1:51 PM, Stephen Turner <stephen.tur...@citrix.com> wrote:

> As I just said in the other thread -- but to repeat it here in the PROPOSAL 
> thread --
> 
> I am +1 on using github pull requests.
> 
> I am +1 on all code changes being reviewed by a committer other than the 
> author, as well as undergoing some automated CI testing, before the pull 
> request is merged.
> 
> I am +0 on only the master RM merging the pull request. I don't want the 
> author to push the code, but I think the code reviewer could do this; in 
> practice the RM will not be able to review everything again so is likely to 
> rubber-stamp the results of the code review / automated testing. But I could 
> live with the master RM doing it.
> 

Understood, the idea is to go with this drastic change and as we adjust we can 
relax a bit this constraint. The benefit is to start controlling what will go 
in the next release before a release branch is even cut and get all developers 
(committers or not) to start using feature branches systematically. 

> I am +1 on moving ahead with any of these parts individually, rather than 
> waiting for everything to be in place before doing anything.
> 
> -- 
> Stephen Turner
> 
> 
> -----Original Message-----
> From: sebgoa [mailto:run...@gmail.com] 
> Sent: 18 October 2014 10:00
> To: dev@cloudstack.apache.org
> Subject: [PROPOSAL] Move to github PR only during moratorium on commit
> 
> After [1] I would like to officially bring up the following proposal.
> 
> [Proposal]
> ----
> All commits come through github PR, *even* for committers. We declare a 
> moratorium period (agreed suspension of activity) during which direct commit 
> to master is forbidden.
> Only the master RM is allowed to merge PR in master (we define a master RM). 
> If direct commit to master is done, master RM reverts without warning. Same 
> for 4.5 and 4.4. branches.
> ----
> 
> This is drastic and I am sure some folks will not like it, but here is my 
> justification for such a measure:
> 
> [Reasons]:
> ----
> Our commit and release processes have so far been based on the idea that 
> development happens on master and that a release branch is cut from master 
> (unstable development branch). Then a different set of community members 
> harden the release branch, QA and bring it to GA level. During that time 
> development keeps on going in master.
> 
> This is an OK process if we have the luxury of having a QA team and can cope 
> with split personality of being developers and release managers. 
> 
> My point of view is that as a community we cannot afford such a split brain 
> organization and our experience overt the last year proves my point (delayed 
> release date, broken builds, features merged without warning...)
> 
> We can avoid this by cutting a release branch from a stable one (from the 
> start), then as you (Daan) have mentioned several times, fix bugs in the 
> release branch and merge them back in the stable source of the release (be it 
> master). 
> 
> Feature development need to be done outside master, period. Not only for 
> non-committers but also for committers. And merge request need to be called. 
> This will help review and avoid surprises.
> 
> New git workflow were proposed and shutdown, mostly calling for better CI to 
> solve quality issues. CI will not solve our quality issues alone. We need to 
> better police ourselves.
> 
> To avoid long discussions, I propose this simple but drastic measure. We move 
> all our commits to github PR until 4.5 is out, this stands for committers and 
> non-committers, direct commits (especially to master) would be reverted 
> immediately.
> ----
> 
> Our development and release process is broken, we cannot continue like this, 
> let's fix it.
> 
> [1] http://markmail.org/thread/xeliefp3oleq3g54
> 
> -sebastien

Reply via email to