Bug 1598436 - add ESR bouncer checks to cron, r=aki a=release DONTBUILD
authorNick Thomas <nthomas@mozilla.com>
Wed, 27 Nov 2019 02:53:21 +0000
changeset 563507 3c3760cc2ebee5a8cff04cd628f0c60cd4affafb
parent 563506 feaf62cb9b9db6755571ef344a9ba9d9d1ae4056
child 563508 290d570566d6f6e6b3e4be222a725d35ca99460a
push id2210
push userbtara@mozilla.com
push dateSun, 08 Dec 2019 23:43:33 +0000
treeherdermozilla-release@290d570566d6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersaki, release
bugs1598436
milestone71.0.1
Bug 1598436 - add ESR bouncer checks to cron, r=aki a=release DONTBUILD Fixes up ESR bouncer aliases now that ESR60 is EOL. Adds check for latest products used by www.mozilla.org. Enables the cron checks. Fixes up a script error which meant we weren't checking all partial platforms in release automation. Depends on D54656 Differential Revision: https://phabricator.services.mozilla.com/D54657
.cron.yml
taskcluster/ci/cron-bouncer-check/kind.yml
taskcluster/ci/release-bouncer-aliases/kind.yml
testing/mozharness/configs/releases/bouncer_firefox_esr.py
testing/mozharness/scripts/release/bouncer_check.py
--- a/.cron.yml
+++ b/.cron.yml
@@ -150,26 +150,27 @@ jobs:
     - name: bouncer-check
       job:
           type: decision-task
           treeherder-symbol: Rel
           target-tasks-method: cron_bouncer_check
       run-on-projects:
           - mozilla-beta
           - mozilla-release
+          - mozilla-esr68
       when:
           by-project:
               # No default branch
               mozilla-beta:
                   - {hour: 7, minute: 0}
                   - {hour: 19, minute: 0}
               mozilla-release:
                   - {hour: 7, minute: 0}
                   - {hour: 19, minute: 0}
-              mozilla-esr60:
+              mozilla-esr68:
                   - {hour: 7, minute: 0}
                   - {hour: 19, minute: 0}
 
     - name: periodic-update
       job:
           type: decision-task
           treeherder-symbol: Nfile
           target-tasks-method: file_update
--- a/taskcluster/ci/cron-bouncer-check/kind.yml
+++ b/taskcluster/ci/cron-bouncer-check/kind.yml
@@ -45,18 +45,18 @@ jobs:
                     esr.*:
                         - releases/bouncer_firefox_esr.py
                     default:
                         - releases/bouncer_firefox_beta.py
             product-field:
                 by-project:
                     mozilla-beta: LATEST_FIREFOX_RELEASED_DEVEL_VERSION
                     mozilla-release: LATEST_FIREFOX_VERSION
-                    mozilla-esr60: FIREFOX_ESR
-                    mozilla-esr68: FIREFOX_ESR_NEXT
+                    mozilla-esr68: FIREFOX_ESR
+                    # mozilla-esrXX: FIREFOX_ESR_NEXT
                     default: LATEST_FIREFOX_DEVEL_VERSION
             products-url: https://product-details.mozilla.org/1.0/firefox_versions.json
         treeherder:
             platform: firefox-release/opt
 
     devedition:
         shipping-product: devedition
         run-on-projects: [mozilla-beta]
--- a/taskcluster/ci/release-bouncer-aliases/kind.yml
+++ b/taskcluster/ci/release-bouncer-aliases/kind.yml
@@ -70,21 +70,24 @@ jobs:
                     firefox-beta-latest: installer
                     firefox-beta-stub: stub-installer
                     firefox-beta-msi-latest-ssl: msi
                 mozilla-release:
                     firefox-latest-ssl: installer-ssl
                     firefox-latest: installer
                     firefox-stub: stub-installer
                     firefox-msi-latest-ssl: msi
-                mozilla-esr60:
+                mozilla-esr68:
+                    # when there is one ESR branch both sets of aliases work
+                    # when there are two ESR branches ...
+                    # ... these always point to the older branch
                     firefox-esr-latest-ssl: installer-ssl
                     firefox-esr-latest: installer
                     firefox-esr-msi-latest-ssl: msi
-                mozilla-esr68:
+                    # ... these point to the newer branch
                     firefox-esr-next-latest-ssl: installer-ssl
                     firefox-esr-next-latest: installer
                     firefox-esr-next-msi-latest-ssl: msi
                 birch:
                     firefox-latest-ssl: installer-ssl
                     firefox-latest: installer
                     firefox-stub: stub-installer
                 jamun:
--- a/testing/mozharness/configs/releases/bouncer_firefox_esr.py
+++ b/testing/mozharness/configs/releases/bouncer_firefox_esr.py
@@ -1,73 +1,130 @@
 # lint_ignore=E501
 config = {
     "products": {
+        # for installers, stubs, msi (ie not updates) ...
+        # products containing "latest" are for www.mozilla.org via cron-bouncer-check
+        # products using versions are for release automation via release-bouncer-check-firefox
         "installer": {
             "product-name": "Firefox-%(version)s",
             "check_uptake": True,
-            # convert to firefox-esr-latest when ESR52 stops
+            "platforms": [
+                "linux",
+                "linux64",
+                "osx",
+                "win",
+                "win64",
+                "win64-aarch64",
+            ],
+        },
+        "installer-latest": {
+            "product-name": "Firefox-esr-latest",
+            "check_uptake": True,
+            "platforms": [
+                "linux",
+                "linux64",
+                "osx",
+                "win",
+                "win64",
+                "win64-aarch64",
+            ],
+        },
+        "installer-next-latest": {
+            "product-name": "Firefox-esr-next-latest",
+            "check_uptake": True,
             "platforms": [
                 "linux",
                 "linux64",
                 "osx",
                 "win",
                 "win64",
+                "win64-aarch64",
             ],
         },
         "installer-ssl": {
             "product-name": "Firefox-%(version)s-SSL",
             "check_uptake": True,
-            # convert to firefox-esr-latest-ssl when ESR52 stops
+            "platforms": [
+                "linux",
+                "linux64",
+                "osx",
+                "win",
+                "win64",
+               "win64-aarch64",
+            ],
+        },
+        "installer-latest-ssl": {
+            "product-name": "Firefox-esr-latest-SSL",
+            "check_uptake": True,
             "platforms": [
                 "linux",
                 "linux64",
                 "osx",
                 "win",
                 "win64",
+                "win64-aarch64",
+            ],
+        },
+        "installer-next-latest-ssl": {
+            "product-name": "Firefox-esr-next-latest-SSL",
+            "check_uptake": True,
+            "platforms": [
+                "linux",
+                "linux64",
+                "osx",
+                "win",
+                "win64",
+                "win64-aarch64",
             ],
         },
         "msi": {
             "product-name": "Firefox-%(version)s-msi-SSL",
             "check_uptake": True,
             "platforms": [
                 "win",
                 "win64",
             ],
         },
+        "msi-latest": {
+            "product-name": "Firefox-esr-msi-latest-SSL",
+            "check_uptake": True,
+            "platforms": [
+                "win",
+                "win64",
+            ],
+        },
+        "msi-next-latest": {
+            "product-name": "Firefox-esr-next-msi-latest-SSL",
+            "check_uptake": True,
+            "platforms": [
+                "win",
+                "win64",
+            ],
+        },
         "complete-mar": {
             "product-name": "Firefox-%(version)s-Complete",
             "check_uptake": True,
             "platforms": [
                 "linux",
                 "linux64",
                 "osx",
                 "win",
                 "win64",
-            ],
-        },
-        "complete-mar-bz2": {
-            "product-name": "Firefox-%(version)s-Complete-bz2",
-            "check_uptake": True,
-            "platforms": [
-                "linux",
-                "linux64",
-                "osx",
-                "win",
-                "win64",
-                "win64-aarch64",
+                # add "win64-aarch64" when ESR60 dropped
             ],
         },
     },
     "partials": {
         "releases-dir": {
             "product-name": "Firefox-%(version)s-Partial-%(prev_version)s",
             "check_uptake": True,
             "platforms": [
                 "linux",
                 "linux64",
                 "osx",
                 "win",
                 "win64",
+                # add "win64-aarch64" when ESR60 dropped
             ],
         },
     },
 }
--- a/testing/mozharness/scripts/release/bouncer_check.py
+++ b/testing/mozharness/scripts/release/bouncer_check.py
@@ -145,17 +145,17 @@ class BouncerCheck(BaseScript):
                     yield url
 
         for product in self.config.get("partials", {}).values():
             if not product["check_uptake"]:
                 continue
             for prev_version in self.config.get("prev_versions", []):
                 product_name = product["product-name"] % {"version": self.config["version"],
                                                           "prev_version": prev_version}
-                for bouner_platform in product["platforms"]:
+                for bouncer_platform in product["platforms"]:
                     for locale in self.config["locales"]:
                         url = BOUNCER_URL_PATTERN.format(
                             bouncer_prefix=self.config["bouncer_prefix"],
                             product=product_name,
                             os=bouncer_platform,
                             lang=locale,
                         )
                         yield url