Which version should be promoted first between LTS or stable?

Hi everyone,

as part of the release of XWiki 12.0 I just noticed that in Docker we were mostly “promoting” our LTS version, where apparently for Debian we are more promoting our Stable version.

Let me bit a bit more specific: we use different tags for our docker images, from the most specific such as “11.10.1-postgres-tomcat” to the least one such as “latest”. “latest” points on latest stable which is normal. But we also have “postgres-tomcat” (and “mysql-tomcat”) and both point to the LTS. So anyone trying to use docker pull xwiki/mysql-tomcat will get an LTS.

Now for Debian, it is not that obvious IMO, but the command specified in the documentation to get XWiki advise to use sudo wget "https://maven.xwiki.org/stable/xwiki-stable.list" -P /etc/apt/sources.list.d/, so not xwiki-lts.

I think it would be good to be consistent on which version we want to promote first between LTS or stable, and to always make that version the easiest to access in our doc or our tags.

I personally don’t have a strong opinion on that, just raising the problem.

+1 for stable, that’s the one we want people to test

This is a bug. It’s always been supposed to point to stable. LTS versions are either supposed to have the version or have the lts keyword in the tag.

Let me check the history and fix this. Thx

Actually I’m wrong. It’s not a bug. We’ve always had LTS = latest (official-images/library/xwiki at a7dfee2298ed9fb129258ecb585b53111c54822c · docker-library/official-images · GitHub ) for the reason that we wanted to promote the LTS (so that users get the most stable version by default).

The reason that 11.x is LTS = stable = latest is because there was no 12.x version during 1 month. Now that 12.0 is out we need to remove latest from 11.x and move it to 12.0.

So we need to decide if we prefer to move users to latest or keep them on stable == LTS. Personally I think I prefer LTS since this is what we should promote for XWiki which is an enterprise software and we want users to be as stable as possible. Another argument of course is to use the community to test the latest features. I’m not it’s a good idea to change it though since that will make users suddenly switch magically from stable to latest just by doing a docker pull.

WDYT?

Actually that’s not true, so it’s even more confusing :slight_smile: Look at official-images/library/xwiki at 35a2157b8333073ac16ab4cf437cc3812f051572 · surli/official-images · GitHub for example, you’ll see that LTS != latest, but LTS == mysql-tomcat.

So I kept on my latest PR this scheme: latest == stable, and LTS == mysql/postgresql-tomcat.

But this proves that it already changed at a point.

Well I guess we should first clarify the situation and document it somewhere. Not sure we need to change something on the tags.

Indeed it changed in Fix upgrade for 9.11.3 which was wrong + fix latest tag + add new lat… · surli/official-images@c754f39 · GitHub

I don’t remember why I changed it but it seems that at this point I considered that LTS == latest was not correct. It’s possible I just went with latest == last released version.

So, sinced we changed the definition of latest at least once we do need to decide what we want. So what do we want our users to get when they don’t specify anything? Stable or lts?

Both have pros:

  • latest == stable is logical from a semantic pov since it corresponds to the last released version in general. It also pushes users to test the last release version of xwiki (at the expense of stability).
  • latest == lts is the « safe » option. Users get the most stable version by default.

After more thinking I think I agree that latest == stable makes the most sense. If users are in prod then they’ll be careful about the version they use anyway and will pick lts as the tag IMO.

Si +1 from le for latest == stable.

Opinions?

Thanks

Well question actually: do you link stable and mysql/postgres-tomcat, since it was the root cause of this thread :slight_smile: i.e. should we put mysql-tomcat == stable or not?

It’s the same thing for me, ie if there’s no lts keyword then it’s stable and thus latest.

WDYT?

Well it definitely makes more sense to me than the current situation.
So +1 for latest = mysql-tomcat = latest and 12-postgres = postgres-tomcat.

I probably thought that it was not normal that latest wasn’t the latest and I changed it in Fix upgrade for 9.11.3 which was wrong + fix latest tag + add new lat… · surli/official-images@c754f39 · GitHub but I didn’t think about mysql-tomcat and the like at that time.

Anyway let’s fix this now!

So the 3 of us are ok it seems. Let’s fix it!

PR sent at Fix some tags by vmassol · Pull Request #7376 · docker-library/official-images · GitHub

Thanks Simon for raising this.