Bug 1543033 Fix pathing for win64_aarch64_info.txt r=mtabara
authorSimon Fraser <sfraser@mozilla.com>
Thu, 11 Apr 2019 12:11:56 +0000
changeset 468996 c91bf0806ef7a167f28984e21befd0c3947b15e3
parent 468995 e251a566abb693ee0f12419bf52b39fe4df7a7f3
child 468997 82d83ff9facae53cfea8eb6179bde97a89f116cc
push id35856
push usercsabou@mozilla.com
push dateFri, 12 Apr 2019 03:19:48 +0000
treeherdermozilla-central@940684cd1065 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmtabara
bugs1543033
milestone68.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 1543033 Fix pathing for win64_aarch64_info.txt r=mtabara 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-shippable: 'linux-i686'
       linux64-shippable: 'linux-x86_64'
       linux64-asan-reporter-nightly: 'linux-x86_64-asan-reporter'
       macosx64-shippable: 'mac'
       win32-shippable: 'win32'
       win64-shippable: '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-shippable: 'linux-i686'
       linux64-shippable: 'linux-x86_64'
       linux64-asan-reporter-nightly: 'linux-x86_64-asan-reporter'
       macosx64-shippable: 'mac'
       win32-shippable: 'win32'
       win64-shippable: 'win64'
       win64-aarch64-shippable: '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,