Bug 1598436 - add ESR bouncer checks to cron, r=aki
authorNick Thomas <nthomas@mozilla.com>
Wed, 27 Nov 2019 02:53:21 +0000
changeset 503978 1b24d899e04f86aebe4d988324acff9cf318b648
parent 503977 e165b244de599457324845d08d99cd5479da7025
child 503979 3310bcfea608808927619fd4d480730883f2192a
push id101664
push usernthomas@mozilla.com
push dateWed, 27 Nov 2019 02:55:29 +0000
treeherderautoland@3310bcfea608 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersaki
bugs1598436
milestone72.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1598436 - add ESR bouncer checks to cron, r=aki 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,25 +150,29 @@ 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-esr68:
+                  - {hour: 7, minute: 0}
+                  - {hour: 19, minute: 0}
 
     - name: periodic-update
       job:
           type: decision-task
           treeherder-symbol: Nfile
           target-tasks-method: file_update
       run-on-projects:
           - mozilla-central
--- 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