flattr-extension icon indicating copy to clipboard operation
flattr-extension copied to clipboard

Update extension version format

Open ThomasGreiner opened this issue 7 years ago • 2 comments

Background We currently use the format A.B.C.Z (e.g. 1.2.3.456 and v1.2.3 for tags) for versioning the extension where A.B.C is manually defined by us and Z refers to the revision it's based on. That leads to the following issues though:

  1. We cannot rebuild using our CI if the Firefox upload failed because we'll get a "signing failed" error from AMO
  2. It's not obvious which git revision the build number refers to
  3. We cannot differentiate between different builds based on their version (optional)

Unfortunately, Chrome enforces the following limitation on version numbers:

It must be between 1-4 dot-separated integers each between 0 and 65536.

What to change

Version

Chrome Format: A.B.C.Y Example: 0.4.0.123

Firefox Format: A.B.C.Y.Z Example: 0.4.0.123.1711141502

Y refers to the build number Z refers to the date as YYMMDDhhmm

Version name (not yet supported by Firefox) Format: A.B.C (Y; Z) Example: 0.4.0 (release; d496d5b)

Y refers to the build identifier (i.e. release, staging or development) Z refers to the git commit hash

In both formats, B and C could be automatically appended by the build system if we don't specify them manually.

Missing information We need to verify the following assumptions first:

  • Uploading the same build with the same version number again to CWS doesn't cause any issues
  • Firefox accepts version strings with more than four numbers
  • Firefox doesn't have / has loose-enough restrictions on how large integers in the version string can be

Alternatively, we could merge major and minor version numbers to free up one more integer in the version number string which would allow us to represent the UNIX timestamp as two integers (i.e. AB.C.Y.Z where Y = timestamp / 65536 and Z = timestamp % 65536).

ThomasGreiner avatar Feb 02 '18 15:02 ThomasGreiner

0.4.0.123.1711141502

We should double check that this format actually works for AMO. IIRC, they use the toolkit version format which does not appear to allow more than four components.

What should definitely work is, simply appending them without separator: 0.4.0.1231711141502.

fhd avatar Feb 02 '18 15:02 fhd

We should double check that this format actually works for AMO. IIRC, they use the toolkit version format which does not appear to allow more than four components.

Yep, all assumptions I mentioned under "Missing information" need to be verified.

What should definitely work is, simply appending them without separator: 0.4.0.1231711141502.

That'd work too, true.

ThomasGreiner avatar Feb 02 '18 15:02 ThomasGreiner