Bug 632954 - Add Android PGO-instrumented build task; r=tomprince
☠☠ backed out by d7e6fff52db3 ☠ ☠
authorMike Shal <mshal@mozilla.com>
Mon, 18 Mar 2019 23:53:19 +0000
changeset 465142 b96dd954a456d8088a3ceda66f51d4106f516b4a
parent 465141 26031d3623333bbdedd1fb388f0867bc9f7cc23c
child 465143 c151ebf303cad175e24bcc0965c800a9d12ecb3b
push id35732
push useropoprus@mozilla.com
push dateWed, 20 Mar 2019 10:52:37 +0000
treeherdermozilla-central@708979f9c3f3 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstomprince
bugs632954
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 632954 - Add Android PGO-instrumented build task; r=tomprince This is the first stage of the Android PGO task pipeline to generate an instrumented build. Differential Revision: https://phabricator.services.mozilla.com/D22824
taskcluster/ci/instrumented-build/kind.yml
testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_profile_generate.py
testing/mozharness/mozharness/mozilla/building/buildbase.py
--- a/taskcluster/ci/instrumented-build/kind.yml
+++ b/taskcluster/ci/instrumented-build/kind.yml
@@ -48,8 +48,55 @@ jobs:
             - linux64-binutils
             - linux64-clang
             - linux64-rust
             - linux64-rust-size
             - linux64-cbindgen
             - linux64-sccache
             - linux64-nasm
             - linux64-node
+
+    android-api-16/pgo:
+        description: "Android 4.0 api-16+ PGO instrumented"
+        shipping-phase: build
+        shipping-product: fennec
+        attributes:
+            enable-full-crashsymbols: true
+        treeherder:
+            platform: android-4-0-armv7-api16/pgo
+        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/releng.manifest"
+                PERFHERDER_EXTRA_OPTIONS: instrumented
+            artifacts:
+                - name: public/build
+                  path: /builds/worker/artifacts/
+                  type: directory
+                - name: public/build/geckoview-androidTest.apk
+                  path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
+                  type: file
+        run:
+            using: mozharness
+            actions: [get-secrets, build]
+            config:
+                - builds/releng_base_android_64_builds.py
+            script: "mozharness/scripts/fx_desktop_build.py"
+            secrets: true
+            custom-build-variant-cfg: api-16-profile-generate
+            tooltool-downloads: internal
+        toolchains:
+            - android-gradle-dependencies
+            - android-ndk-linux
+            - android-sdk-linux
+            - linux64-clang-7-android-cross
+            - linux64-rust-android
+            - linux64-rust-size
+            - linux64-cbindgen
+            - linux64-sccache
+            - linux64-nasm
+            - linux64-node
new file mode 100644
--- /dev/null
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_profile_generate.py
@@ -0,0 +1,5 @@
+config = {
+    'stage_platform': 'android-api-16',
+    'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-16/profile-generate',
+    'multi_locale_config_platform': 'android',
+}
--- a/testing/mozharness/mozharness/mozilla/building/buildbase.py
+++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ -367,16 +367,17 @@ class BuildOptionParser(object):
         'noopt-debug': 'builds/releng_sub_%s_configs/%s_noopt_debug.py',
         'api-16-gradle-dependencies':
             'builds/releng_sub_%s_configs/%s_api_16_gradle_dependencies.py',
         'api-16': 'builds/releng_sub_%s_configs/%s_api_16.py',
         'api-16-debug': 'builds/releng_sub_%s_configs/%s_api_16_debug.py',
         'api-16-debug-ccov': 'builds/releng_sub_%s_configs/%s_api_16_debug_ccov.py',
         'api-16-debug-searchfox': 'builds/releng_sub_%s_configs/%s_api_16_debug_searchfox.py',
         'api-16-gradle': 'builds/releng_sub_%s_configs/%s_api_16_gradle.py',
+        'api-16-profile-generate': 'builds/releng_sub_%s_configs/%s_api_16_profile_generate.py',
         'api-16-without-google-play-services':
             'builds/releng_sub_%s_configs/%s_api_16_without_google_play_services.py',
         'rusttests': 'builds/releng_sub_%s_configs/%s_rusttests.py',
         'rusttests-debug': 'builds/releng_sub_%s_configs/%s_rusttests_debug.py',
         'x86': 'builds/releng_sub_%s_configs/%s_x86.py',
         'x86-fuzzing-debug': 'builds/releng_sub_%s_configs/%s_x86_fuzzing_debug.py',
         'x86_64': 'builds/releng_sub_%s_configs/%s_x86_64.py',
         'x86_64-debug': 'builds/releng_sub_%s_configs/%s_x86_64_debug.py',