Closed Bug 1731695 Opened 3 years ago Closed 3 years ago

Firefox Beta MSIX package version issue: doesn't include beta build number, uses fourth dotted quad

Categories

(Firefox :: Installer, defect)

defect

Tracking

()

RESOLVED FIXED
94 Branch
Tracking Status
firefox94 --- fixed

People

(Reporter: nalexander, Assigned: nalexander)

References

Details

Attachments

(3 files)

MSIX packages for Firefox X.Y.bZ are supposed to have an embedded version code like X.Y.0.Z. And they would, but the application.ini embedded into such a beta doesn't include the beta build number (the Z) in this example. This ticket tracks fishing the build number from the package in another manner and using it.

This is the difference between MOZ_APP_VERSION and MOZ_APP_VERSION_DISPLAY, respectively between version.txt and version_display.txt.

Marking S3: Blocks non-critical functionality.

Severity: -- → S3

glandium: can you suggest a way to fish the display version from a Windows .zip package?

Flags: needinfo?(mh+mozilla)

If this is something you want to feed through a Task definition, config.params["version"] should be useful. (It's things like 94.0a1 on nightly, 94.0b7 on beta, and 95.0 on release.) For example, we grab it through https://searchfox.org/mozilla-central/source/taskcluster/taskgraph/util/scriptworker.py#370 for use in various release tasks.

If you have no other option, you can parse the output of UnpackFinder(path).get("modules/AppConstants.jsm").open().read().

Flags: needinfo?(mh+mozilla)

There's more at play here than I thought: it turns out some parts of the MSIX packaging system expect the fourth dotted quad to be 0. So the scheme for Beta (mapping X.YbZ to X.Y.0.Z) needs to be amended (and is broken right now in automation), and the scheme using the build ID for Nightly which uses the fourth quad also needs to be amended.

Summary: Firefox Beta MSIX package version doesn't include beta build number → Firefox Beta MSIX package version issue: doesn't include beta build number, uses fourth dotted quad

Certain parts of the MSIX package ecosystem require the final part of
the dotted quad to be ".0". This commit reduces the space of
supported display versions, and then changes the version encoding to
always have final part ".0".

Using display version rather than the plain version gives us the beta
number, i.e., X.YbZ rather than just X.Y. We need to use
AppConstants.jsm rather application.ini because the latter doesn't
include the display version. We grab the build ID this way too, just
the entrench the pattern, although it's available from
application.ini as well.

Depends on D126849

Pushed by nalexander@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e025e266a915
Part 1: Make final MSIX package version part be ".0". r=bhearsum
https://hg.mozilla.org/integration/autoland/rev/d6c82cc4628d
Part 2: Fish display version including beta number from `AppConstants.jsm`. r=bhearsum
https://hg.mozilla.org/integration/autoland/rev/0f56275e97a3
Post: Dump AppxManifest.xml to ease debugging in automation. r=bhearsum
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 94 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: