Bug 1543033 Fix pathing for win64_aarch64_info.txt r=mtabara a=release
authorSimon Fraser <sfraser@mozilla.com>
Thu, 11 Apr 2019 12:11:56 +0000
changeset 526145 5d7fb687b031ae245635f5001f66ac5b5eb85429
parent 526144 a97995b4f2da3eead77e7e917901fbabea3fa407
child 526146 de298dbcb0134c419d00e791e83def9e1a498a9a
push id2032
push userffxbld-merge
push dateMon, 13 May 2019 09:36:57 +0000
treeherdermozilla-release@455c1065dcbe [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmtabara, release
bugs1543033
milestone67.0
Bug 1543033 Fix pathing for win64_aarch64_info.txt r=mtabara a=release I've refactored the artifact map generation slightly to make the list of platforms more flexible, and also to let us have the previous name for win64_aarch64_info.txt. Differential Revision: https://phabricator.services.mozilla.com/D27049
taskcluster/taskgraph/manifests/fennec_candidates.yml
taskcluster/taskgraph/manifests/fennec_candidates_checksums.yml
taskcluster/taskgraph/manifests/fennec_geckoview.yml
taskcluster/taskgraph/manifests/fennec_nightly.yml
taskcluster/taskgraph/manifests/fennec_nightly_checksums.yml
taskcluster/taskgraph/manifests/firefox_candidates.yml
taskcluster/taskgraph/manifests/firefox_candidates_checksums.yml
taskcluster/taskgraph/manifests/firefox_nightly.yml
taskcluster/taskgraph/manifests/firefox_nightly_checksums.yml
taskcluster/taskgraph/manifests/firefox_snap.yml
taskcluster/taskgraph/manifests/release_checksums.yml
taskcluster/taskgraph/manifests/source_checksums.yml
taskcluster/taskgraph/manifests/source_files.yml
taskcluster/taskgraph/util/scriptworker.py
--- a/taskcluster/taskgraph/manifests/fennec_candidates.yml
+++ b/taskcluster/taskgraph/manifests/fennec_candidates.yml
@@ -16,17 +16,16 @@ platform_names:
       android-api-16-nightly: 'android-api-16'
       android-aarch64-nightly: 'android-aarch64'
   filename_platform:
     by-platform:
       android-x86-nightly: 'android-i386'
       android-x86_64-nightly: 'android-x86_64'
       android-api-16-nightly: 'android-arm'
       android-aarch64-nightly: 'android-aarch64'
-  stage_platform: ''
 
 # A default entry, which the mappings below extend and override.
 # Final 'destinations' will be the product of:
 # s3_bucket_paths + destinations + locale_prefix + pretty_name
 default: &default
   from:
     - build
   all_locales: false
--- a/taskcluster/taskgraph/manifests/fennec_candidates_checksums.yml
+++ b/taskcluster/taskgraph/manifests/fennec_candidates_checksums.yml
@@ -13,17 +13,16 @@ platform_names:
       android-api-16-nightly: 'android-api-16'
       android-aarch64-nightly: 'android-aarch64'
   filename_platform:
     by-platform:
       android-x86-nightly: 'android-i386'
       android-x86_64-nightly: 'android-x86_64'
       android-api-16-nightly: 'android-arm'
       android-aarch64-nightly: 'android-aarch64'
-  stage_platform: ''
 
 # A default entry, which the mappings below extend and override.
 # Final 'destinations' will be the product of:
 # s3_bucket_paths + destinations + locale_prefix + pretty_name
 default: &default
   from:
     - checksums-signing
   all_locales: true
--- a/taskcluster/taskgraph/manifests/fennec_geckoview.yml
+++ b/taskcluster/taskgraph/manifests/fennec_geckoview.yml
@@ -1,20 +1,16 @@
 ---
 s3_bucket_paths:
   - maven2
 default_locales:  # Ignored for geckoview
   - en-US
 tasktype_map:  # Map task reference to task type.
   build: build
 base_artifact_prefix: ''
-platform_names:
-  path_platform: ''
-  filename_platform: ''
-  stage_platform: ''
 
 # A default entry, which the mappings below extend and override.
 # Final 'destinations' will be the product of:
 # s3_bucket_paths + destinations + locale_prefix + pretty_name
 default: &default
   from:
     - build
   locale_prefix: ''
--- a/taskcluster/taskgraph/manifests/fennec_nightly.yml
+++ b/taskcluster/taskgraph/manifests/fennec_nightly.yml
@@ -16,17 +16,16 @@ platform_names:
       android-api-16-nightly: 'android-api-16'
       android-aarch64-nightly: 'android-aarch64'
   filename_platform:
     by-platform:
       android-x86-nightly: 'android-i386'
       android-x86_64-nightly: 'android-x86_64'
       android-api-16-nightly: 'android-arm'
       android-aarch64-nightly: 'android-aarch64'
-  stage_platform: ''
 
 # A default entry, which the mappings below extend and override.
 # Final 'destinations' will be the product of:
 # s3_bucket_paths + destinations + locale_prefix + pretty_name
 default: &default
   from:
     - build
   all_locales: false
--- a/taskcluster/taskgraph/manifests/fennec_nightly_checksums.yml
+++ b/taskcluster/taskgraph/manifests/fennec_nightly_checksums.yml
@@ -13,17 +13,16 @@ platform_names:
       android-api-16-nightly: 'android-api-16'
       android-aarch64-nightly: 'android-aarch64'
   filename_platform:
     by-platform:
       android-x86-nightly: 'android-i386'
       android-x86_64-nightly: 'android-x86_64'
       android-api-16-nightly: 'android-arm'
       android-aarch64-nightly: 'android-aarch64'
-  stage_platform: ''
 
 # A default entry, which the mappings below extend and override.
 # Final 'destinations' will be the product of:
 # s3_bucket_paths + destinations + locale_prefix + pretty_name
 default: &default
   from:
     - checksums-signing
   all_locales: true
--- a/taskcluster/taskgraph/manifests/firefox_candidates.yml
+++ b/taskcluster/taskgraph/manifests/firefox_candidates.yml
@@ -48,36 +48,36 @@ platform_names:
       linux-nightly: 'linux-i686'
       linux64-nightly: 'linux-x86_64'
       linux64-asan-reporter-nightly: 'linux-x86_64-asan-reporter'
       macosx64-nightly: 'mac'
       win32-nightly: 'win32'
       win64-nightly: 'win64'
       win64-aarch64-nightly: 'win64-aarch64'
       win64-asan-reporter-nightly: 'win64-asan-reporter'
-  filename_platform:
-    by-platform:
-      linux-nightly: 'linux-i686'
-      linux64-nightly: 'linux-x86_64'
-      linux64-asan-reporter-nightly: 'linux-x86_64-asan-reporter'
-      macosx64-nightly: 'mac'
-      win32-nightly: 'win32'
-      win64-nightly: 'win64'
-      win64-aarch64-nightly: 'win64-aarch64'
-      win64-asan-reporter-nightly: 'win64-asan-reporter'
-  stage_platform:
+  tools_platform:
     by-platform:
       linux-nightly: 'linux'
       linux64-nightly: 'linux64'
       linux64-asan-reporter-nightly: 'linux-x86_64-asan-reporter'
       macosx64-nightly: 'macosx64'
       win32-nightly: 'win32'
       win64-nightly: 'win64'
       win64-aarch64-nightly: 'win64-aarch64'
       win64-asan-reporter-nightly: 'win64-asan-reporter'
+  filename_platform:
+    by-platform:
+      linux-nightly: 'linux'
+      linux64-nightly: 'linux64'
+      linux64-asan-reporter-nightly: 'linux-x86_64-asan-reporter'
+      macosx64-nightly: 'macosx64'
+      win32-nightly: 'win32'
+      win64-nightly: 'win64'
+      win64-aarch64-nightly: 'win64_aarch64'
+      win64-asan-reporter-nightly: 'win64-asan-reporter'
 
 default: &default
   from:
     - build
   all_locales: false
   description: "TO_BE_OVERRIDDEN"
   locale_prefix: '${locale}/'
   source_path_modifier:
@@ -158,31 +158,31 @@ mapping:
     <<: *default
     description: "Results for running the xpcshell testing framework to enable XPConnect console application"
     pretty_name: firefox-${version}.xpcshell.tests.tar.gz
     checksums_path: ${path_platform}/${locale}/firefox-${version}.xpcshell.tests.tar.gz
   target_info.txt:
     <<: *default
     description: "File containing the buildID"
     locale_prefix: ''
-    pretty_name: ${stage_platform}_info.txt
-    checksums_path: ${stage_platform}_info.txt
+    pretty_name: ${filename_platform}_info.txt
+    checksums_path: ${filename_platform}_info.txt
     destinations:
       - ${version}-candidates/build${build_number}
   mozharness.zip:
     <<: *default
     description: "File containing the mozharness set of scripts and configuration used by various automation tools"
     pretty_name: mozharness.zip
     checksums_path: ${path_platform}/${locale}/mozharness.zip
   target.jsshell.zip:
     <<: *default
     description: "Set of shells to allow test snippets of Javascript code without needing to reload the page"
     locale_prefix: ''
-    pretty_name: jsshell-${filename_platform}.zip
-    checksums_path: jsshell/jsshell-${filename_platform}.zip
+    pretty_name: jsshell-${path_platform}.zip
+    checksums_path: jsshell/jsshell-${path_platform}.zip
     destinations:
       - ${version}-candidates/build${build_number}/jsshell
   target.langpack.xpi:
     <<: *default
     all_locales: true
     description: "Localized repack that grabs a packaged en-US Firefox and repackages it as locale-specific Firefox"
     locale_prefix: ''
     source_path_modifier: '${locale}'
@@ -198,57 +198,57 @@ mapping:
     checksums_path: ${path_platform}/xpi/${locale}.xpi
     destinations:
       - ${version}-candidates/build${build_number}/${path_platform}/xpi
   mar:
     <<: *default
     description: "Alongside `mbsdiff`, a tool used to generate partials"
     locale_prefix: ''
     source_path_modifier: 'host/bin'
-    pretty_name: ${stage_platform}/mar
-    checksums_path: mar-tools/${stage_platform}/mar
+    pretty_name: ${tools_platform}/mar
+    checksums_path: mar-tools/${tools_platform}/mar
     not_for_platforms:
       - win32-nightly
       - win64-nightly
       - win64-aarch64-nightly
     destinations:
       - ${version}-candidates/build${build_number}/mar-tools
   mbsdiff:
     <<: *default
     description: "Alongside `mar`, a tool used to generate partials"
     locale_prefix: ''
     source_path_modifier: 'host/bin'
-    pretty_name: ${stage_platform}/mbsdiff
-    checksums_path: mar-tools/${stage_platform}/mbsdiff
+    pretty_name: ${tools_platform}/mbsdiff
+    checksums_path: mar-tools/${tools_platform}/mbsdiff
     not_for_platforms:
       - win32-nightly
       - win64-nightly
       - win64-aarch64-nightly
     destinations:
       - ${version}-candidates/build${build_number}/mar-tools
   mar.exe:
     <<: *default
     description: "Alongside `mbsdiff.exe`, a tool used to generate partials for Windows platforms"
     locale_prefix: ''
     source_path_modifier: 'host/bin'
-    pretty_name: ${stage_platform}/mar.exe
-    checksums_path: mar-tools/${stage_platform}/mar.exe
+    pretty_name: ${tools_platform}/mar.exe
+    checksums_path: mar-tools/${tools_platform}/mar.exe
     only_for_platforms:
       - win32-nightly
       - win64-nightly
       - win64-aarch64-nightly
     destinations:
       - ${version}-candidates/build${build_number}/mar-tools
   mbsdiff.exe:
     <<: *default
     locale_prefix: ''
     description: "Alongside `mar.exe`, a tool used to generate partials for Windows platforms"
     source_path_modifier: 'host/bin'
-    pretty_name: ${stage_platform}/mbsdiff.exe
-    checksums_path: mar-tools/${stage_platform}/mbsdiff.exe
+    pretty_name: ${tools_platform}/mbsdiff.exe
+    checksums_path: mar-tools/${tools_platform}/mbsdiff.exe
     only_for_platforms:
       - win32-nightly
       - win64-nightly
       - win64-aarch64-nightly
     destinations:
       - ${version}-candidates/build${build_number}/mar-tools
   target.tar.bz2:
     <<: *default
--- a/taskcluster/taskgraph/manifests/firefox_candidates_checksums.yml
+++ b/taskcluster/taskgraph/manifests/firefox_candidates_checksums.yml
@@ -56,38 +56,16 @@ platform_names:
       win32-shippable: 'win32'
       win64-shippable: 'win64'
       win64-aarch64-shippable: 'win64-aarch64'
       linux: 'linux-i686'
       linux64: 'linux-x86_64'
       macosx64: 'mac'
       win32: 'win32'
       win64: 'win64'
-  filename_platform:
-    by-platform:
-      linux-nightly: 'linux-i686'
-      linux64-nightly: 'linux-x86_64'
-      linux64-asan-reporter-nightly: 'linux-x86_64-asan-reporter'
-      macosx64-nightly: 'mac'
-      win32-nightly: 'win32'
-      win64-nightly: 'win64'
-      win64-aarch64-nightly: 'win64-aarch64'
-      win64-asan-reporter-nightly: 'win64-asan-reporter'
-      linux-shippable: 'linux-i686'
-      linux64-shippable: 'linux-x86_64'
-      macosx64-shippable: 'mac'
-      win32-shippable: 'win32'
-      win64-shippable: 'win64'
-      win64-aarch64-shippable: 'win64-aarch64'
-      linux: 'linux-i686'
-      linux64: 'linux-x86_64'
-      macosx64: 'mac'
-      win32: 'win32'
-      win64: 'win64'
-  stage_platform: ''
 
 default: &default
   from:
     - checksums-signing
   all_locales: true
   description: "TO_BE_OVERRIDDEN"
   locale_prefix: '${locale}/'
   source_path_modifier: ''
--- a/taskcluster/taskgraph/manifests/firefox_nightly.yml
+++ b/taskcluster/taskgraph/manifests/firefox_nightly.yml
@@ -37,17 +37,16 @@ tasktype_map:
   build: build
   signing: signing
   mar-signing: signing
   partials-signing: signing
   repackage: repackage
   repackage-signing: repackage
   repackage-signing-msi: repackage
 platform_names:
-  path_platform: ''
   filename_platform:
     by-platform:
       linux-nightly: 'linux-i686'
       linux64-nightly: 'linux-x86_64'
       linux64-asan-reporter-nightly: 'linux-x86_64-asan-reporter'
       macosx64-nightly: 'mac'
       win32-nightly: 'win32'
       win64-nightly: 'win64'
--- a/taskcluster/taskgraph/manifests/firefox_nightly_checksums.yml
+++ b/taskcluster/taskgraph/manifests/firefox_nightly_checksums.yml
@@ -5,28 +5,26 @@ s3_bucket_paths:
       - pub/devedition/nightly
     default:
       - pub/firefox/nightly
 default_locales:  # if given an empty locale, use these locales
   - en-US
 tasktype_map:  # Map task reference to task type.
   checksums-signing: signing
 platform_names:
-  path_platform: ''
   filename_platform:
     by-platform:
       linux-nightly: 'linux-i686'
       linux64-nightly: 'linux-x86_64'
       linux64-asan-reporter-nightly: 'linux-x86_64-asan-reporter'
       macosx64-nightly: 'mac'
       win32-nightly: 'win32'
       win64-nightly: 'win64'
       win64-aarch64-nightly: 'win64-aarch64'
       win64-asan-reporter-nightly: 'win64-asan-reporter'
-  stage_platform: ''
 
 # A default entry, which the mappings below extend and override.
 # Final 'destinations' will be the product of:
 # s3_bucket_paths + destinations + locale_prefix + pretty_name
 default: &default
   from:
     - checksums-signing
   all_locales: true
--- a/taskcluster/taskgraph/manifests/firefox_snap.yml
+++ b/taskcluster/taskgraph/manifests/firefox_snap.yml
@@ -1,19 +1,15 @@
 ---
 s3_bucket_paths:
   - pub/firefox/candidates
 default_locales:  # Ignored for snap
   - en-US
 tasktype_map:  # Map task reference to task type.
   release-snap-repackage: build
-platform_names:
-  path_platform: ''
-  filename_platform: ''
-  stage_platform: ''
 
 # A default entry, which the mappings below extend and override.
 # Final 'destinations' will be the product of:
 # s3_bucket_paths + destinations + locale_prefix + pretty_name
 default: &default
   all_locales: false
   from:
     - release-snap-repackage
--- a/taskcluster/taskgraph/manifests/release_checksums.yml
+++ b/taskcluster/taskgraph/manifests/release_checksums.yml
@@ -7,20 +7,16 @@ s3_bucket_paths:
       - pub/devedition/candidates
     firefox-release:
       - pub/firefox/candidates
 default_locales:  # if given an empty locale, use these locales
   - en-US
 tasktype_map:  # Map task reference to task type.
   release-generate-checksums: build
   release-generate-checksums-signing: signing
-platform_names:
-  path_platform: ''
-  filename_platform: ''
-  stage_platform: ''
 
 # A default entry, which the mappings below extend and override.
 # Final 'destinations' will be the product of:
 # s3_bucket_paths + destinations + locale_prefix + pretty_name
 default: &default
   from:
     - release-generate-checksums-signing
   all_locales: true
--- a/taskcluster/taskgraph/manifests/source_checksums.yml
+++ b/taskcluster/taskgraph/manifests/source_checksums.yml
@@ -6,20 +6,16 @@ s3_bucket_paths:
     devedition-source:
       - pub/devedition/candidates
     firefox-source:
       - pub/firefox/candidates
 default_locales:  # if given an empty locale, use these locales
   - en-US
 tasktype_map:  # Map task reference to task type.
   release-source-checksums-signing: signing
-platform_names:
-  path_platform: ''
-  filename_platform: ''
-  stage_platform: ''
 
 # A default entry, which the mappings below extend and override.
 # Final 'destinations' will be the product of:
 # s3_bucket_paths + destinations + locale_prefix + pretty_name
 default: &default
   from:
     - release-source-checksums-signing
   all_locales: false
--- a/taskcluster/taskgraph/manifests/source_files.yml
+++ b/taskcluster/taskgraph/manifests/source_files.yml
@@ -6,20 +6,16 @@ s3_bucket_paths:
     devedition-source:
       - pub/devedition/candidates
     firefox-source:
       - pub/firefox/candidates
 default_locales:  # if given an empty locale, use these locales
   - en-US
 tasktype_map:  # Map task reference to task type.
   release-source-signing: signing
-platform_names:
-  path_platform: ''
-  filename_platform: ''
-  stage_platform: ''
 
 # A default entry, which the mappings below extend and override.
 # Final 'destinations' will be the product of:
 # s3_bucket_paths + destinations + locale_prefix + pretty_name
 default: &default
   from:
     - release-source-signing
   all_locales: false
--- a/taskcluster/taskgraph/util/scriptworker.py
+++ b/taskcluster/taskgraph/util/scriptworker.py
@@ -639,35 +639,33 @@ def generate_beetmover_artifact_map(conf
                 if file_config.get('balrog_format'):
                     paths[key]['balrog_format'] = file_config['balrog_format']
 
         if not paths:
             # No files for this dependency/locale combination.
             continue
 
         # Render all variables for the artifact map
-        platforms = deepcopy(map_config['platform_names'])
+        platforms = deepcopy(map_config.get('platform_names', {}))
         if platform:
             for key in platforms.keys():
                 resolve_keyed_by(platforms, key, key, platform=platform)
 
         upload_date = datetime.fromtimestamp(config.params['build_date'])
 
         kwargs.update({
             'locale': locale,
             'version': config.params['version'],
             'branch': config.params['project'],
             'build_number': config.params['build_number'],
-            'filename_platform': platforms['filename_platform'],
-            'path_platform': platforms['path_platform'],
-            'stage_platform': platforms['stage_platform'],
             'year': upload_date.year,
             'month': upload_date.strftime("%m"),  # zero-pad the month
             'upload_date': upload_date.strftime("%Y-%m-%d-%H-%M-%S")
         })
+        kwargs.update(**platforms)
         paths = jsone.render(paths, kwargs)
         artifacts.append({
             'taskId': {'task-reference': "<{}>".format(dep)},
             'locale': locale,
             'paths': paths,
         })
 
     return artifacts
@@ -706,17 +704,17 @@ def generate_beetmover_partials_artifact
 
     if kwargs.get('locale'):
         locales = [kwargs['locale']]
     else:
         locales = map_config['default_locales']
 
     resolve_keyed_by(map_config, 's3_bucket_paths', 's3_bucket_paths', platform=platform)
 
-    platforms = deepcopy(map_config['platform_names'])
+    platforms = deepcopy(map_config.get('platform_names', {}))
     if platform:
         for key in platforms.keys():
             resolve_keyed_by(platforms, key, key, platform=platform)
     upload_date = datetime.fromtimestamp(config.params['build_date'])
 
     for locale, dep in itertools.product(locales, dependencies):
         paths = dict()
         for filename in map_config['mapping']:
@@ -785,23 +783,21 @@ def generate_beetmover_partials_artifact
                     'partial': pname,
                     'from_buildid': info['buildid'],
                     'previous_version': info.get('previousVersion'),
                     'buildid': str(config.params['moz_build_date']),
                     'locale': locale,
                     'version': config.params['version'],
                     'branch': config.params['project'],
                     'build_number': config.params['build_number'],
-                    'filename_platform': platforms['filename_platform'],
-                    'path_platform': platforms['path_platform'],
-                    'stage_platform': platforms['stage_platform'],
                     'year': upload_date.year,
                     'month': upload_date.strftime("%m"),  # zero-pad the month
                     'upload_date': upload_date.strftime("%Y-%m-%d-%H-%M-%S")
                 })
+                kwargs.update(**platforms)
                 paths.update(jsone.render(partials_paths, kwargs))
 
         if not paths:
             continue
 
         artifacts.append({
             'taskId': {'task-reference': "<{}>".format(dep)},
             'locale': locale,