Hi devs,
We don’t have a very clear written rule ATM. All we have is what is on https://dev.xwiki.org/xwiki/bin/view/Community/VersioningAndReleasePractices/
There’s a section about What to do when a N.4.2 or N.10.2 version is released, but it doesn’t state clearly what to with regards to the previous LTS(s) branches.
All it says is related to this topic is:
- (Cycle LTS) Check if there are important issues to release in the previous LTS branch and schedule a last release if need be.
IMO, the spirit of Introduce the concept of "Intermediate LTS" and what we had before was the following:
- When N.10.2 is released, drop the intermediate LTS branch and the previous cycle LTS branch
However, we need to account that we also have a Manual Testing Strategy (which needs to be updated since we don’t have “recommended” extensions anymore, but that’s another story, cc @ilie.andriuta ), and that it takes time for the Manual QA team (currently @ilie.andriuta and @atarata) to perform tests for a LTS and that it would be good to have the Manual QA validation before we can call the LTS a LTS.
Now, I think the Manual QA strategy in place already covers this, since it says:
Some general rules:
- The LTS version has higher testing priority than other versions;
And
According to release strategy on every end of cycle, a Long Term Support version is released.
From testing point of view this is a special stable release and should be tested more in-depth. The time-box indicated for this releases is 3 weeks/person.
So I think we need a few clarifications and agreements to be good:
- The Manual QA for LTS must start as soon as N.4.0 and N.10.0 are released, i.e. if tests are underway on some other versions of XWiki then pause them until all the priority testing is finished (or if there’s only 1 or 2 more days needed to finish them, then finish them)
- Have the following testing priorities:
- First current Cycle LTS branch release (i.e. N.10.0) > current Cycle LTS branch bugfixes (i.e. N.10.x, x > 0) > previous Cycle LTS bugfixes (e.g. N-10.10.x, x > 0) > First intermediary LTS branch release (i.e. N.4.0) > intermediary LTS branch bufixes (i.e. N.4.x, x > 0) > Stable bugfix releases (i.e. N.x.y, x != 4, x != 10 and y > 0) > Stable releases (i.e. N.x.0, x != 4 and x != 10) > Extension releases
- The idea is to validate the new Cycle LTS ASAP, then the previous Cycle LTS bugfixes, then the intermediate LTS, then the stable releases.
- Add a note on https://dev.xwiki.org/xwiki/bin/view/Community/VersioningAndReleasePractices/ that if Manual QA is late to validate the new Cycle LTS, then we won’t drop the previous LTS(s) branches until Manual QA has finished, which means we won’t drop the N-10.10.x and N.4.x branches and will continue to merge changes in them. And when Manual QA has validated, drop the previous LTS(s) branches.
- We should also probably note that N10.2 (and N.4.2) become LTSes only if there are no known blocker issues for them (discovered by Manual QA testing, see point 3)
- If Manual QA finds blocker issues during LTS validation, this will require a new LTS bugfix release, and the previous LTS(s) branches continue to be supported during that time.
If we do 1) then there’s 3 weeks of testing before the LTS can be validated. Since we have 4 weeks, that looks ok. However:
- It’s a period of the year (December) when there are holidays
- We will release N.10.1 and N.10.2 during the N.10.0 testing, and in theory each one adds 1 week/person of test.
Note that if N.10.0 is validated, then this means it’s of LTS quality and N.10.2 could be labelled as LTS (same idea for N.4.0 and N.4.2) since the likelihood of a regression is low and in any case that can happen later on, in N.10.7 for ex, so it’s not a real problem. The problem is when N.10.0 (and N.4.0) is not validated (it has blocker issues). Either it’s fixed in N.10.1 or N.10.2 already (and Manual QA will validate this, but 2 weeks later), or it’s not fixed and we will need to release N.10.3 and add one more week to test it.
All in all, depending on how many Manual QA testers we have and the quality of the releases, this means that the validation could slip after the end of the year for N.10.x, up to end of January. This is covered by point 3) and 4) above.
WDYT about the points 1) to 5) above?
Thanks