I forgot to mention/tackle one aspect: the fact that we distribute a Debian distribution.
So there are 2 aspects.
If we take the examples above, do the versions we test/support match well the versions from “oldstable”, “stable” and possibly “testing”?
Debian is not our only distributions and following the debian versions is making us not test more recent versions that our users can use when they use the WAR or Docker distributions.
+1 for strategy 1, it will be more clear for everyone I think.
I don’t have a clear opinion for the update strategy both have pros and cons.
Re Debian, I think we should at least ensure when performing updates that we keep covering Debian “stable”, and if it’s not the case then best IMO would be to have a “Debian” configuration in our docker tests for covering stable branch of Debian.
Yes, we could add that in the testing strategy. I haven’t written that part yet but I’ll make sure to include it as it makes sense, i.e. if the version strategy above doesn’t cover the “stable” version of Debian, then to add a pipeline config for that version. Now in practice it shouldn’t happen often (but indeed in the examples above, there’s PostgreSQL 11.7.x which is not tested and that is currently the “stable” version for Debian).
EDIT: It also means a bit more work for part B, since it means checking the Debian versions. That’s a bit painful.
1 looks OK in general, basically it’s a case by case choice of two versions to put in automated tests
Yes since we have many people using XWiki on Debian (30% using directly the XWiki Debian packages and many more installing more manually but still on Debian) we should ideally have tests for versions close to what can be found on Debian standard repositories (even only “stable” is always good as a target).
I’m not a fan of B1 and the “let’s put everything in the release process” logic. Note that those versions update should be done after a release and not before it.
Yeah, I’m not fully sure on that one. But if it’s not that we need to define who handles it. Any proposal?
Proposal B1 was to do it during the final release process but at the end, after the release is done. It had 2 advantages:
We have a process to know who does it and the responsibility is shared between all committers (which also ensures that all committers know about it which is always interesting)
We are ensuring it’s done just at the beginning of a new version which is the best place.