Skip to content

Commit 9cb8906

Browse files
committed
Bug 1522581 - Publish GeckoView multi-architecture fat AAR Nightly. r=jlorenzo
Differential Revision: https://phabricator.services.mozilla.com/D15774 --HG-- extra : moz-landing-system : lando
1 parent e291c07 commit 9cb8906

File tree

7 files changed

+92
-2
lines changed

7 files changed

+92
-2
lines changed

taskcluster/ci/beetmover/kind.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ not-for-build-platforms:
2929
- win64-devedition-nightly/opt
3030
- linux64-asan-reporter-nightly/opt
3131
- win64-asan-reporter-nightly/opt
32+
- android-geckoview-fat-aar-nightly/opt
3233

3334
job-template:
3435
shipping-phase: promote

taskcluster/ci/build/android.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -846,3 +846,75 @@ android-geckoview-fat-aar/opt:
846846
- linux64-sccache
847847
- linux64-nasm
848848
- linux64-node
849+
850+
android-geckoview-fat-aar-nightly/opt:
851+
description: "Android GeckoView multi-architecture fat AAR Nightly"
852+
attributes:
853+
nightly: true
854+
enable-full-crashsymbols: true
855+
disable-push-apk: true
856+
disable-build-signing: true
857+
shipping-phase: build
858+
shipping-product: fennec
859+
index:
860+
product: mobile
861+
job-name: android-geckoview-fat-aar-nightly
862+
type: nightly-with-multi-l10n
863+
treeherder:
864+
platform: android-4-0-geckoview-fat-aar/opt
865+
symbol: Ngv
866+
worker-type: aws-provisioner-v1/gecko-{level}-b-android
867+
dependencies:
868+
android-x86: build-android-x86-nightly/opt
869+
android-x86_64: build-android-x86_64-nightly/opt
870+
android-api-16: build-android-api-16-nightly/opt
871+
android-aarch64: build-android-aarch64-nightly/opt
872+
worker:
873+
docker-image: {in-tree: android-build}
874+
max-run-time: 7200
875+
env:
876+
# Online in order to download the per-architecture AARs.
877+
GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-online"
878+
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
879+
PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-nightly
880+
MOZ_ANDROID_FAT_AAR_TARGETS: {artifact-reference: "x86=<android-x86/public/build/target.maven.zip>,\
881+
x86_64=<android-x86_64/public/build/target.maven.zip>,\
882+
armeabi-v7a=<android-api-16/public/build/target.maven.zip>,\
883+
arm64-v8a=<android-aarch64/public/build/target.maven.zip>"}
884+
artifacts:
885+
- name: public/android/maven
886+
# TODO Bug 1433198. Remove the following entry once target.maven.zip is uploaded to a maven repository
887+
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
888+
type: directory
889+
- name: public/build/target.maven.zip
890+
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
891+
type: file
892+
- name: public/build/geckoview-androidTest.apk
893+
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
894+
type: file
895+
- name: public/build/geckoview_example.apk
896+
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
897+
type: file
898+
- name: public/build
899+
path: /builds/worker/artifacts/
900+
type: directory
901+
run:
902+
using: mozharness
903+
actions: [get-secrets, build, multi-l10n]
904+
config:
905+
- builds/releng_base_android_64_builds.py
906+
- taskcluster_nightly.py
907+
script: "mozharness/scripts/fx_desktop_build.py"
908+
secrets: true
909+
custom-build-variant-cfg: api-16
910+
tooltool-downloads: internal
911+
toolchains:
912+
- android-gradle-dependencies
913+
- android-ndk-linux
914+
- android-sdk-linux
915+
- linux64-clang
916+
- linux64-rust-android
917+
- linux64-rust-size
918+
- linux64-cbindgen
919+
- linux64-nasm
920+
- linux64-node

taskcluster/docs/attributes.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,3 +302,14 @@ If a task set this boolean attribute to `true`, it will be processed by the code
302302
review bot, the task will ran for every new Phabricator diff.
303303
Any supported and detected issue will be automatically reported on the
304304
Phabricator revision.
305+
306+
disable-push-apk
307+
================
308+
Some GeckoView-only Android tasks produce APKs that shouldn't be
309+
pushed to the Google Play Store. Set this to ``true`` to disable
310+
pushing.
311+
312+
disable-build-signing
313+
=====================
314+
Some GeckoView-only tasks produce APKs, but not APKs that should be
315+
signed. Set this to ``true`` to disable APK signing.

taskcluster/taskgraph/loader/build_signing.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,6 @@ def loader(kind, path, config, params, loaded_tasks):
3232
dependent_task = job['primary-dependency']
3333
if dependent_task.attributes.get('nightly') or \
3434
dependent_task.label in NON_NIGHTLY_LABELS_WHICH_SHOULD_SIGN_BUILDS:
35-
yield job
35+
# Bug 1522581: Some GeckoView-only tasks produce APKs that shouldn't be signed.
36+
if not dependent_task.attributes.get('disable-build-signing', False):
37+
yield job

taskcluster/taskgraph/loader/push_apk.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@ def get_dependent_loaded_tasks(config, params, loaded_tasks):
3535
)
3636
android_tasks = (
3737
task for task in tasks_with_matching_kind
38-
if task.attributes.get('build_platform', '').startswith('android')
38+
if task.attributes.get('build_platform', '').startswith('android') and
39+
# Bug 1522581: Some GeckoView-only tasks produce APKs that shouldn't be pushed.
40+
not task.attributes.get('disable-push-apk', False)
3941
)
4042

4143
# TODO Bug 1368484: Aarch64 is not planned to ride the trains regularly. It may stay on nightly

taskcluster/taskgraph/target_tasks.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,6 +454,7 @@ def filter(task):
454454
'android-nightly',
455455
'android-x86-nightly',
456456
'android-x86_64-nightly',
457+
'android-geckoview-fat-aar-nightly',
457458
):
458459
if not task.attributes.get('nightly', False):
459460
return False

taskcluster/taskgraph/transforms/beetmover_geckoview.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
'android-api-16': 'geckoview{update_channel}-armeabi-v7a',
2828
'android-x86': 'geckoview{update_channel}-x86',
2929
'android-x86_64': 'geckoview{update_channel}-x86_64',
30+
'android-geckoview-fat-aar': 'geckoview',
3031
}
3132

3233
_MOZ_UPDATE_CHANNEL_PER_BRANCH = {

0 commit comments

Comments
 (0)