Hi devs,

Here's the situation:

* We've been having a hard time releasing on time and the main issue is test 
stability. We lag by at least a week and we even release with failing tests, 
causing regressions.
* It's not the role of the release manager to fix tests before releasing
* It's not normal that some people spend time fixing issues caused by others 
and that others continue to work on the next thing they are working on. 
Everyone needs to help.

Here's what I propose as a drastic and temporary measure till we get better:

1) It's forbidden to commit anything till all tests are passing (unit AND 
functional tests), unless what is committed is about fixing tests. On the 
exceptional case when a committer absolutely needs to commit even though tests 
are failing he needs to ask the permission explicitly.
2) When tests are failing, everyone should stop what they're doing and help 
stabilize again. We synchronize on IRC.
3) Flickering tests can be marked as @Ignore and a jira issue created to 
stabilize the build.
4) Release Manager creates a release branch 1 week before the release to let 
everyone stabilize the build

On a long term we need to work on improving our CI so that functional tests are 
built faster. One idea is: more agents and functional tests spread on several 
agents.

Here's my +1 to apply this now for master (3.2-SNAPSHOT leading to 3.2M1), 
which means not committing anything more till we have all functional tests 
passing.

Thanks
-Vincent

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to