CollaboraOnline / online

Collabora Online is a collaborative online office suite based on LibreOffice technology. This is also the source for the Collabora Office apps for iOS and Android.
https://collaboraonline.com
Other
1.77k stars 679 forks source link

Use 3 digit incremental versioning for docker images #3889

Open PrivatePuffin opened 2 years ago

PrivatePuffin commented 2 years ago

While 90% of developers is moving to either semver or calver... it seems one of your staffmembers had a brain hemorage and pasted a semver behind a calver.

Please fix your versioning in a way versioning tools know what to do without without special treatment.

timar commented 2 years ago

@Ornias1993 what is your suggestion? I did not understand how this versioning change broke your use case.

avatar1024 commented 2 years ago

It is true that it is a bit weird and uncommon to have a versioning scheme: yy.mm.major.minor.patch as shown #here

Either you go with 1) major.minor.bug or with 2) yy.mm.patch where effectively the yy.mm indicates a major release.

If you envision CODE to have a dev cycle that imply fairly slow but steady releases then you go with 2) where new features only comes with the X monthly major releases and in between you do regular (e.g. weekly) small releases that only contain bug fixes.

Now if you want a faster and less steady dev cycle you go with 1). But going with 2).1) is kinda meaningless.

It looks like in your "official" release you went for yy.mm.minor.patch...which makes some sense and I suppose is ok, but if you intend to do minor feature improvements in between your big releases you could just have stuck with semver.

timar commented 2 years ago

First and second numbers are the year and month when the major release was first published. The third number is for bugfixes and micro features, the fourth number is for hotfixes. These 4 version numbers are displayed in About box. In case of docker tags there is a 5th number that is the package revision of the coolwsd package, because it may be possible that we have to respin a package without source code change (e.g. in case of error in packaging).

PrivatePuffin commented 2 years ago

How about using ANY widely accepted standard?

To be frank, if anyone needs to explain this to you... Maybe it's time to stay away from software development, because industry standards in versioning (such as calver and semver) and why CI tools expect a 3 digit versioning scheme, is pretty much CI/CD and software basics.

"In case of docker tags there is a 5th number that is the package revision of the coolwsd package, because it may be possible that we have to respin a package without source code change (e.g. in case of error in packaging)."

That's called a patch in semver, just like any other patch level change.

TLDR: This looks like either: A) a severe lack of basic development experience/knowhow. B) a *severe (XKCD level) case of wanting to develop your own standards.

kendy commented 2 years ago

@Ornias1993: Please stop being rude.

If you want us to seriously consider your bugreport, please come up with a proposal or even a patch; ideally in a new report free from insults. Thank you

PrivatePuffin commented 2 years ago

@Ornias1993: Please stop being rude.

Start being competent, like: Use normal versioning, build good docker containers and don't push 10+ broken containers within a month... After that, lets start about being rude. I rather have 6 assholes building good software, than 3 nice idiots trying to. 'nuf said

If you want us to seriously consider your bugreport,

Attitude does not change the fact if this is or isn't a bad design decision (which it objectively is). It should not be any part in the consideration if the submitter of highlighting your mistakes, is nice or a douche.

please come up with a proposal

proposal how about the fact I already explained to use industry standards and even named a few? Even people with severe spectrum levels would understand that it was basically a proposed fix.

or even a patch

Sadly enough, some people actually spend quite many hours making sure issues like this don't happen in the opensource projects they maintain. Which means they don't have the time to fix basic FUBAR's elsewhere as well.

ideally in a new report free from insults. Thank you

Feel free to copy paste and edit the starting post if you feel like it. I'm not.

We're just publically going to advice users of our software catalog not to use Collabora, because this is not the only thing in your project going wrong.

I'll leave it at this. Because appearently bugs and fuckups do not exist when i'm rude reporting them :')

kendy commented 2 years ago

@Ornias1993: Well - I'd for example like to hear which of the calver and semver options would make your life easier; and which versioning tool(s) are you using so that we can check against them & make sure we work well with them. Can you please give us the hints?

Thank you!

PrivatePuffin commented 2 years ago

semver options? major.minor.patch

That's all it is... ( personally prefer semver, calver has some more tastes for which i'm not the right person to judge which I would prefer, because I simply don't like semver. But that's a mater of tastes).

As far as i'm aware any big version tool can handle 3 digit incremental versioning, regardless of the kind (semver, calver)

kendy commented 2 years ago

@Ornias1993: OK, cool, thanks for the details! Let me change the subject accordingly to "Use 3 digit incremental versioning for docker images" and we'll see what we can do about that.