[WG: Sakai QA] Request for inclusion in 2.6.1: SAK-16416
Anthony Whyte
arwhyte at umich.edu
Fri Jun 5 09:50:13 PDT 2009
I agree with Stephen's view although Michael's hesitation is not
without foundation (pardon the pun).
IMO, we should be strict up front, so to speak, about what is merged
into the maintenance branch and only merge fixes when there is sign
off from QA. Our maintenance releases could then be generated rather
quickly: we decide on a revision point that constitutes the next
release (2.6.1), we copy to a 2.6.1 release branch, clean up the poms
(we should be able to leverage the Maven release plugin here), write
up release notes and cut the release. In other words, no more alpah/
beta/rc tags for maintenance releases (e.g., the Tomcat team has not
put out an beta tag since 5.5.17). We perform no additional testing
on the release branch other than to ensure the artifacts generated
from it (demo, bin, src) start up in Tomcat. We then update the 2.6.x
poms version number to the next SNAPSHOT version (e.g., 2.6.2-
SNAPSHOT) and recommence the cycle.
But to operationalize this we need an increased commitment from the
community to support active and ongoing QA of maintenance work.
On Noah's question: I'd like to see project teams empower themselves
to use the fix version to target a fix for an upcoming maintenance
release (e.g., 2.6.1, or 2.6.2 or 2.6.3, etc.). The "contract" here
is that the fix will be made and QA'd properly before the it goes into
the maintenance branch and tags are cut. This implies that there
exists for project teams a well-under general schedule regarding the
tagging and releasing and that project teams include QA testers and/or
work with Pete Peterson to secure testing resources to ensure that
their work is ready for merging.
If, for example, a non-security, non-blocker/critical fix targeted for
an upcoming maintenance release is not ready, the release management
working group could decide after consulting with the project team to
reset the fix version, incrementing by one, if appropriate, to the
next maintenance release. These decisions can be documented in Jira
and communicated via the QA list or a new release management list.
As with Megan I find the current Jira form overly-complicated. IMO it
is a topic that we should discuss in an effort to refine and simplify
the process with a target of providing a strawman proposal for the
Boston conference.
Cheers,
Anth
On Jun 5, 2009, at 11:42 AM, Michael Korcuska wrote:
> I think this is a good topic for the project planning meetings at the
> conference. One comment inline.
> On Jun 5, 2009, at 17:37, Stephen Marquard wrote:
>
>> I'm not convinced that the "selective component" approach to
>> maintenance releases is really useful. To me it adds a lot of
>> complexity, and means that the maintenance releases bear no
>> resemblance to the 2-6-x branches that people are running in
>> production. It's confusing when an issue is fixed in the maintenance
>> branch but not in a release which post-dates the fix.
>>
>> I would rather see the testing happen as and when issues are moved
>> into the 2-6-x branch, so that it's safe to release a 2.6.x from the
>> maintenance branch at any time.
>
> I'm not sure this is realistic, actually. Some degree of testing is
> needed on the tag to make sure it is working. I'd be interested in
> opinions as to how little regression testing we can do to still have
> confidence that nothing has broken (or, rather, the risk is very
> small).
>
>>
>> The only exception to this IMO should be security releases, which
>> are strictly the last .x release plus the security fixes, so that
>> they can be done immediately.
>>
>> Also in general I think we'd be better off putting effort into
>> building more automated tests than trying to get a diffuse pool of
>> volunteers to do more regression testing to a release schedule.
>
> Agreed, but efforts to this end have borne limited fruit thus far.
>
>>
>> Regards
>> Stephen
>>
>>>>> Michael Korcuska <mkorcuska at sakaifoundation.org> 06/05/09 4:19 PM
>>>>>>>>
>> I'm not going to get into the procedures (that's up to the QA group),
>> but let me outline a few things we've discussed in the past:
>>
>> * QA is a (possible the most important) bounding factor on how many
>> and which issues can going into a maintenance release. If we try to
>> include everything that is fixed we create a large QA testing effort.
>> Especially regression testing. This delays maintenance releases. So
>> there is an important balance between the number of things we include
>> and the speed with which we get maintenance releases out the door.
>> The
>> more issues fixed, the longer it will take.
>>
>> * It is my view that a maintenance release that introduces
>> regressions
>> is a very bad thing. So they need to be well tested. Unfortunately
>> the
>> lack of unit test coverage (or automated testing of any kind) in the
>> 2.x code base makes regression testing a manual process.
>>
>> * To reduce the surface area for testing we (the foundation) has
>> adopted a strategy of targeting a limited number of components for
>> maintenance releases. We test those few well and then cut a release.
>> Hopefully we hop onto the next set of components and can cut a second
>> maintenance release "soon" after.
>>
>> * Security issues change the schedule. They need to happen quickly
>> and so we may change our plans entirely based on the severity of the
>> security issue and how close we are to cutting a release. And when
>> one
>> of these issues is involved it will now mean (usually) simultaneous
>> releases on the 2.5 and 2.6 series (at least).
>>
>> Now we haven't been fully successful in executing this approach for a
>> variety of reasons. And it is only a good idea to limit the
>> components
>> involved if, in fact, we can get maintenance releases out fairly
>> quickly I'm expecting Pete P to get things moving more smoothly. But
>> right now the community is placing too much reliance on the
>> Foundation. We simply need some help :-).
>>
>> Mostly this means help testing maintenance releases. Those who want
>> to
>> help test will certainly get a bigger voice in what issues/components
>> are addressed first. Makes sense, yes?
>>
>> Another issue is the work involved in release management. It is
>> increasingly the case that the work of release management has been
>> taken up by Anthony. We could really use some help with that. I'd
>> love to have someone in the community start to manage the maintenance
>> releases--usually the .0 release is the hardest and once things are
>> set up, the maintenance release process is much less burdensome. Any
>> volunteers to manage the upcoming maintenance releases for the 2.6 or
>> 2.5 series? Anthony will certainly guide you through the first one
>> and be there to assist.....
>>
>> Best,
>>
>> Michael
>>
>>
>>
>> _______________________________________________
>> sakai-qa mailing list
>> sakai-qa at collab.sakaiproject.org
>> http://collab.sakaiproject.org/mailman/listinfo/sakai-qa
>>
>> TO UNSUBSCRIBE: send email to sakai-qa-unsubscribe at collab.sakaiproject.org
>> with a subject of "unsubscribe"
>
> --
> Michael Korcuska
> Executive Director, Sakai Foundation
> mkorcuska at sakaifoundation.org
> phone: +1 510-931-6559
> mobile (US): +1 510-599-2586
> skype: mkorcuska
>
>
>
> _______________________________________________
> sakai-qa mailing list
> sakai-qa at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-qa
>
> TO UNSUBSCRIBE: send email to sakai-qa-unsubscribe at collab.sakaiproject.org
> with a subject of "unsubscribe"
>
>
More information about the sakai-qa
mailing list