From 079d9e9f5e5109d9d7f44b5f711f5196dec88dce Mon Sep 17 00:00:00 2001 From: Mike Shal Date: Mon, 18 Mar 2019 23:53:19 +0000 Subject: [PATCH] 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 --HG-- extra : source : b96dd954a456d8088a3ceda66f51d4106f516b4a --- taskcluster/ci/instrumented-build/kind.yml | 47 +++++++++++++++++++ .../64_api_16_profile_generate.py | 5 ++ .../mozharness/mozilla/building/buildbase.py | 1 + 3 files changed, 53 insertions(+) create mode 100644 testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_profile_generate.py diff --git a/taskcluster/ci/instrumented-build/kind.yml b/taskcluster/ci/instrumented-build/kind.yml index 7657b151c62d..57307da0716c 100644 --- a/taskcluster/ci/instrumented-build/kind.yml +++ b/taskcluster/ci/instrumented-build/kind.yml @@ -53,3 +53,50 @@ jobs: - 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 diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_profile_generate.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_profile_generate.py new file mode 100644 index 000000000000..468a68eb2f3d --- /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', +} diff --git a/testing/mozharness/mozharness/mozilla/building/buildbase.py b/testing/mozharness/mozharness/mozilla/building/buildbase.py index 4fd7a0ce14ed..a2b91d1f98a3 100755 --- a/testing/mozharness/mozharness/mozilla/building/buildbase.py +++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py @@ -372,6 +372,7 @@ class BuildOptionParser(object): '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',