Bug 1480834 - 7. Add Android x86-64 tasks; r=nalexander r=dustin r=jlorenzo
authorJim Chen <nchen@mozilla.com>
Thu, 13 Sep 2018 12:09:26 -0400 (2018-09-13)
changeset 436222 1dd3bc1e9fd754a2e5b434d6f3f491264d2064fc
parent 436221 bbceefcad976657d92be0654b2f343f5a15d7558
child 436223 3eff52855cdbccb58c0807f31654de1963f14231
push id34631
push usernerli@mozilla.com
push dateThu, 13 Sep 2018 22:02:04 +0000 (2018-09-13)
treeherdermozilla-central@e923330d5bd3 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersnalexander, dustin, jlorenzo
bugs1480834
milestone64.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 1480834 - 7. Add Android x86-64 tasks; r=nalexander r=dustin r=jlorenzo Add tasks for building Android for x86-64. Differential Revision: https://phabricator.services.mozilla.com/D5604
python/mozbuild/mozbuild/artifacts.py
python/mozrelease/mozrelease/platforms.py
taskcluster/ci/build/android.yml
taskcluster/taskgraph/transforms/beetmover.py
taskcluster/taskgraph/transforms/beetmover_geckoview.py
--- a/python/mozbuild/mozbuild/artifacts.py
+++ b/python/mozbuild/mozbuild/artifacts.py
@@ -538,16 +538,18 @@ class WinArtifactJob(ArtifactJob):
 JOB_DETAILS = {
     'android-api-16-opt': (AndroidArtifactJob, (r'(public/build/fennec-(.*)\.android-arm.apk|public/build/target\.apk)',
                                                 r'public/build/fennec-(.*)\.common\.tests\.(zip|tar\.gz)|'
                                                 r'public/build/target\.common\.tests\.(zip|tar\.gz)')),
     'android-api-16-debug': (AndroidArtifactJob, (r'public/build/target\.apk',
                                                   r'public/build/target\.common\.tests\.(zip|tar\.gz)')),
     'android-x86-opt': (AndroidArtifactJob, (r'public/build/target\.apk',
                                              r'public/build/target\.common\.tests\.(zip|tar\.gz)')),
+    'android-x86_64-opt': (AndroidArtifactJob, (r'public/build/target\.apk',
+                                                r'public/build/target\.common\.tests\.(zip|tar\.gz)')),
     'linux-opt': (LinuxArtifactJob, (r'public/build/target\.tar\.bz2',
                                      r'public/build/target\.common\.tests\.(zip|tar\.gz)')),
     'linux-debug': (LinuxArtifactJob, (r'public/build/target\.tar\.bz2',
                                        r'public/build/target\.common\.tests\.(zip|tar\.gz)')),
     'linux64-opt': (LinuxArtifactJob, (r'public/build/target\.tar\.bz2',
                                        r'public/build/target\.common\.tests\.(zip|tar\.gz)')),
     'linux64-debug': (LinuxArtifactJob, (r'public/build/target\.tar\.bz2',
                                          r'public/build/target\.common\.tests\.(zip|tar\.gz)')),
--- a/python/mozrelease/mozrelease/platforms.py
+++ b/python/mozrelease/mozrelease/platforms.py
@@ -2,16 +2,17 @@ from __future__ import absolute_import
 
 # ftp -> update platform map
 update_platform_map = {
     "android": ["Android_arm-eabi-gcc3"],
     "android-api-11": ["Android_arm-eabi-gcc3"],
     "android-api-15": ["Android_arm-eabi-gcc3"],
     "android-api-16": ["Android_arm-eabi-gcc3"],
     "android-x86": ["Android_x86-gcc3"],
+    "android-x86_64": ["Android_x86-64-gcc3"],
     "android-aarch64": ["Android_aarch64-gcc3"],
     "linux-i686": ["Linux_x86-gcc3"],
     "linux-x86_64": ["Linux_x86_64-gcc3"],
     "mac": ["Darwin_x86_64-gcc3-u-i386-x86_64",  # The main platofrm
             "Darwin_x86-gcc3-u-i386-x86_64",
             # We don"t ship builds with these build targets, but some users
             # modify their builds in a way that has them report like these.
             # See bug 1071576 for details.
--- a/taskcluster/ci/build/android.yml
+++ b/taskcluster/ci/build/android.yml
@@ -572,8 +572,127 @@ android-aarch64-nightly/opt:
         - android-ndk-linux
         - android-sdk-linux
         - linux64-clang
         - linux64-rust-android
         - linux64-rust-size
         - linux64-sccache
         - linux64-cbindgen
         - linux64-node
+
+android-x86_64/opt:
+    description: "Android 5.0 x86-64 Opt"
+    index:
+        product: mobile
+        job-name: android-x86_64-opt
+    attributes:
+        enable-full-crashsymbols: true
+    treeherder:
+        platform: android-5-0-x86_64/opt
+        symbol: B
+    worker-type: aws-provisioner-v1/gecko-{level}-b-android
+    worker:
+        docker-image: {in-tree: android-build}
+        max-run-time: 7200
+        env:
+            GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
+            TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+        artifacts:
+            - name: public/android/R
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/R
+              type: directory
+              # TODO Bug 1433198. Remove the following entry once target.maven.zip is uploaded to a maven repository
+            - name: public/android/maven
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
+              type: directory
+            - name: public/build/target.maven.zip
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
+              type: file
+            - name: public/build/geckoview-androidTest.apk
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinariesNoMinApi/debug/geckoview-official-withGeckoBinaries-noMinApi-debug-androidTest.apk
+              type: file
+            - name: public/build/geckoview_example.apk
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
+              type: file
+            - name: public/build
+              path: /builds/worker/artifacts/
+              type: directory
+    run:
+        using: mozharness
+        actions: [get-secrets build multi-l10n update]
+        config:
+            - builds/releng_base_android_64_builds.py
+        script: "mozharness/scripts/fx_desktop_build.py"
+        secrets: true
+        custom-build-variant-cfg: x86_64
+        tooltool-downloads: internal
+    toolchains:
+        - android-gradle-dependencies
+        - android-ndk-linux
+        - android-sdk-linux
+        - linux64-clang
+        - linux64-rust-android
+        - linux64-rust-size
+        - linux64-cbindgen
+        - linux64-sccache
+        - linux64-node
+
+android-x86_64-nightly/opt:
+    description: "Android 5.0 x86-64 Nightly"
+    attributes:
+        nightly: true
+        enable-full-crashsymbols: true
+    shipping-phase: promote
+    shipping-product: fennec
+    index:
+        product: mobile
+        job-name: android-x86_64-opt
+        type: nightly
+    treeherder:
+        platform: android-5-0-x86_64/opt
+        symbol: N
+    worker-type: aws-provisioner-v1/gecko-{level}-b-android
+    worker:
+        docker-image: {in-tree: android-build}
+        max-run-time: 7200
+        env:
+            GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
+            TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+        artifacts:
+            - name: public/android/R
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/R
+              type: directory
+              # TODO Bug 1433198. Remove the following entry once target.maven.zip is uploaded to a maven repository
+            - name: public/android/maven
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
+              type: directory
+            - name: public/build/target.maven.zip
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
+              type: file
+            - name: public/build/geckoview-androidTest.apk
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinariesNoMinApi/debug/geckoview-official-withGeckoBinaries-noMinApi-debug-androidTest.apk
+              type: file
+            - name: public/build/geckoview_example.apk
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
+              type: file
+            - name: public/build
+              path: /builds/worker/artifacts/
+              type: directory
+    run:
+        using: mozharness
+        actions: [get-secrets build multi-l10n update]
+        config:
+            - builds/releng_base_android_64_builds.py
+            - taskcluster_nightly.py
+        script: "mozharness/scripts/fx_desktop_build.py"
+        secrets: true
+        custom-build-variant-cfg: x86_64
+        tooltool-downloads: internal
+    toolchains:
+        - android-gradle-dependencies
+        - android-ndk-linux
+        - android-sdk-linux
+        - linux64-clang
+        - linux64-rust-android
+        - linux64-rust-size
+        - linux64-sccache
+        - linux64-cbindgen
+        - linux64-node
--- a/taskcluster/taskgraph/transforms/beetmover.py
+++ b/taskcluster/taskgraph/transforms/beetmover.py
@@ -73,32 +73,36 @@ from voluptuous import Any, Required, Op
 
 
 # Until bug 1331141 is fixed, if you are adding any new artifacts here that
 # need to be transfered to S3, please be aware you also need to follow-up
 # with a beetmover patch in https://github.com/mozilla-releng/beetmoverscript/.
 # See example in bug 1348286
 UPSTREAM_ARTIFACT_UNSIGNED_PATHS = {
     'android-x86-nightly': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US,
+    'android-x86_64-nightly': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US,
     'android-aarch64-nightly': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US,
     'android-api-16-nightly': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US,
     'android-x86-nightly-multi': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_MULTI,
+    'android-x86_64-nightly-multi': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_MULTI,
     'android-aarch64-nightly-multi': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_MULTI,
     'android-api-16-nightly-l10n': [],
     'android-api-16-nightly-multi': _MOBILE_UPSTREAM_ARTIFACTS_UNSIGNED_MULTI,
 }
 # Until bug 1331141 is fixed, if you are adding any new artifacts here that
 # need to be transfered to S3, please be aware you also need to follow-up
 # with a beetmover patch in https://github.com/mozilla-releng/beetmoverscript/.
 # See example in bug 1348286
 UPSTREAM_ARTIFACT_SIGNED_PATHS = {
     'android-x86-nightly': ["en-US/target.apk"],
+    'android-x86_64-nightly': ["en-US/target.apk"],
     'android-aarch64-nightly': ["en-US/target.apk"],
     'android-api-16-nightly': ["en-US/target.apk"],
     'android-x86-nightly-multi': ["target.apk"],
+    'android-x86_64-nightly-multi': ["target.apk"],
     'android-aarch64-nightly-multi': ["target.apk"],
     'android-api-16-nightly-l10n': ["target.apk"],
     'android-api-16-nightly-multi': ["target.apk"],
 }
 # Until bug 1331141 is fixed, if you are adding any new artifacts here that
 # need to be transfered to S3, please be aware you also need to follow-up
 # with a beetmover patch in https://github.com/mozilla-releng/beetmoverscript/.
 # See example in bug 1348286
--- a/taskcluster/taskgraph/transforms/beetmover_geckoview.py
+++ b/taskcluster/taskgraph/transforms/beetmover_geckoview.py
@@ -17,16 +17,17 @@ from taskgraph.util.scriptworker import 
 from taskgraph.transforms.task import task_description_schema
 from voluptuous import Required, Optional
 
 
 _ARTIFACT_ID_PER_PLATFORM = {
     'android-aarch64': 'geckoview{update_channel}-arm64-v8a',
     'android-api-16': 'geckoview{update_channel}-armeabi-v7a',
     'android-x86': 'geckoview{update_channel}-x86',
+    'android-x86_64': 'geckoview{update_channel}-x86_64',
 }
 
 _MOZ_UPDATE_CHANNEL_PER_BRANCH = {
     'mozilla-release': '',
     'mozilla-beta': '-beta',
     'mozilla-central': '-nightly',
     'try': '-nightly-try',
     'maple': '-nightly-maple',