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.

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