any regression would be a possible reason to close mainline

if the regression turns out to be

trivial then mainline will be closed until the fix arrives and proves to remove the regression



non-trivial and a fix would take some time and it is



a reproducible regression in a third party component then it will be quarantined for two weeks and mainline remains open





a reproducible regression in the application itself then it will be quarantined for two days and mainline remains open



a sporadic regression and



it showed up the first time then it will be observed as a known regression - no fix will be requested and mainline remains open





it showed up the second time then it will close mainline and an analysis will be requested, if analysis shows the fix would be





trivial then mainline remains closed until the fix arrived and proved to remove the regression







non-trivial then it will be quarantined and mainline will be opened again

a quarantined regression that gets not fixed until its time limit has been exceeded will close mainline





"... quarantine would serve as a to-do list of open issues to be worked on with highest priority"

quarantine rules will be strictly applied





"If there is a culture where these things are always overruled by something seemingly more important then a quarantine will just be another issue tracker with loads of issues never to be handled or like the to-do lists on dozens of desks which never will be worked on to the very end. It's just another container of things one should try to do when there is some time left."

"Instead of having an uncompromisable automatism which would just close mainline until a proven fix arrived a human would be able to weigh different aspects against each other and to decide not to close mainline even if a Sporadic popped up"

the software to be shipped is free of regressions and

the time between two release candidates is as short as possible to allow for small increments





any regression will be quarantined for up to two days

if the fix arrives within this time and it proved to be valid then the failing test will leave quarantine

if the fix does not arrive then the failing test leaves quarantine and causes the mainline to be closed

if the fix does arrive and it proved to be valid mainline will be opened again





The opinions expressed in this blog are my own views and not those of SAP