Add Taskcluster-only Android (15) frontend build job

RESOLVED FIXED in Firefox 47

Status

defect
RESOLVED FIXED
3 years ago
Last year

People

(Reporter: nalexander, Assigned: nalexander)

Tracking

(Blocks 1 bug)

unspecified
mozilla47
Dependency tree / graph

Firefox Tracking Flags

(firefox47 fixed)

Details

Attachments

(3 attachments)

This ticket tracks adding an "android-api-15-frontend" build job, exactly like the Android b2gdroid job but building Fennec with --disable-compile-environment.  It won't package or produce an APK (at least at first), but it'll be a base for Bug 1064004 and Bug 1238678, which will run this --d-c-e build and then do additional Gradle tasks.

This build job doesn't need to be scheduled for all pushes right away; I just want to be able to land the manifests and run it easily.
Attachment #8718121 - Flags: review?(dustin)
Comment on attachment 8718121 [details]
MozReview Request: Bug 1247375 - Part 1: Add Taskcluster job building Fennec with --disable-compile-environment. r=dustin

https://reviewboard.mozilla.org/r/34413/#review31225

::: mobile/android/config/tooltool-manifests/android-frontend/releng.manifest:4
(Diff revision 1)
> +"visibility": "internal", 

trailing whitespace (rillian finally fixed this in the tooltool client, btw)

::: testing/taskcluster/tasks/builds/android_api_15_frontend.yml:11
(Diff revision 1)
> +  workerType: android-api-15

+1 to sharing a workerType with the other android 15 jobs.

::: testing/taskcluster/tasks/builds/android_api_15_frontend.yml:25
(Diff revision 1)
> +      level-{{level}}-{{project}}-build-android-api-15-frontend-c6-workspace: '/home/worker/workspace'

You'll want to remove the `c6-` from this so that it matches the scope name on line 18 (otherwise the task won't run)

I'm not especially familiar with mozconfigs or mozharness configs, but the TC bits of this look fineOK except for the cache name.
Comment on attachment 8718121 [details]
MozReview Request: Bug 1247375 - Part 1: Add Taskcluster job building Fennec with --disable-compile-environment. r=dustin

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/34413/diff/1-2/
Attachment #8718121 - Attachment description: MozReview Request: Bug 1247375 - Add Taskcluster job building Fennec with --disable-compile-environment. r?dustin → MozReview Request: Bug 1247375 - Part 1: Add Taskcluster job building Fennec with --disable-compile-environment. r=dustin
Attachment #8718121 - Flags: review?(dustin)
This allows to use --enable-building-mobile-android-with-gradle in
automation.

Configure the location of Gradle with --with-gradle.  For local
developers, this is always the in tree Gradle wrapper, which downloads
and installs the correct Gradle version automatically.  In automation,
this will be a version of Gradle fetched from tooltool.

Configure the location to use to download Gradle Maven dependencies
(including the Android-Gradle plugin) using
--with-gradle-maven-repository.  For local developers, this defaults
to the jcenter repository.  In automation, this will be an archived
directory fetched from tooltool.

Android-specific Maven dependencies are shipped as "extras" with the
Android SDK, and should be found automatically by the Android-Gradle
plugin.

Review commit: https://reviewboard.mozilla.org/r/34577/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/34577/
Attachment #8718444 - Flags: review?(gps)
The manifest hashes aren't final -- I'll bump them when the producing
job finishes and push to try to make sure this is green.  It's so
close!

Review commit: https://reviewboard.mozilla.org/r/34579/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/34579/
Attachment #8718445 - Flags: review?(gps)
Comment on attachment 8718121 [details]
MozReview Request: Bug 1247375 - Part 1: Add Taskcluster job building Fennec with --disable-compile-environment. r=dustin

https://reviewboard.mozilla.org/r/34413/#review31261
Attachment #8718121 - Flags: review?(dustin) → review+
https://reviewboard.mozilla.org/r/34577/#review31593

::: configure.in:3732
(Diff revision 1)
> +    GRADLE=$withval,

technically, withval will be "no" if --without-gradle is passed. Not totally desirable outcome...

::: configure.in:3740
(Diff revision 1)
> +    GRADLE_MAVEN_REPOSITORY=$withval,

likewise

::: configure.in:5724
(Diff revision 1)
> +if test \( "$OS_TARGET" = Android -a x"$MOZ_WIDGET_TOOLKIT" != x"gonk" \); then

You don't need the parens.
Comment on attachment 8718445 [details]
MozReview Request: Bug 1247375 - Part 3: Use Gradle to build Fennec with --disable-compile-environment. r=glandium

https://reviewboard.mozilla.org/r/34579/#review31595
Attachment #8718445 - Flags: review+
Comment on attachment 8718121 [details]
MozReview Request: Bug 1247375 - Part 1: Add Taskcluster job building Fennec with --disable-compile-environment. r=dustin

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/34413/diff/2-3/
Comment on attachment 8718444 [details]
MozReview Request: Bug 1247375 - Part 2: Add build system Gradle defines for Fennec. r?glandium

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/34577/diff/1-2/
Attachment #8718444 - Attachment description: MozReview Request: Bug 1247375 - Part 2: Add build system Gradle defines for Fennec. r?gps → MozReview Request: Bug 1247375 - Part 2: Add build system Gradle defines for Fennec. r?glandium
Attachment #8718444 - Flags: review?(gps) → review?(mh+mozilla)
Comment on attachment 8718445 [details]
MozReview Request: Bug 1247375 - Part 3: Use Gradle to build Fennec with --disable-compile-environment. r=glandium

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/34579/diff/1-2/
Attachment #8718445 - Attachment description: MozReview Request: Bug 1247375 - Part 3: Use Gradle to build Fennec with --disable-compile-environment. r?gps → MozReview Request: Bug 1247375 - Part 3: Use Gradle to build Fennec with --disable-compile-environment. r=glandium
Attachment #8718445 - Flags: review?(gps)
Comment on attachment 8718444 [details]
MozReview Request: Bug 1247375 - Part 2: Add build system Gradle defines for Fennec. r?glandium

https://reviewboard.mozilla.org/r/34577/#review31609

::: configure.in:5389
(Diff revision 2)
> +    if test "$withval" = "no" ; then
> +        dnl --without-gradle => use the wrapper in |mach gradle|, don't build
> +        dnl with Gradle by default.
> +        GRADLE=$srcdir/gradlew
> +        MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE=
> +    elif test "$withval" = "yes" ; then
> +        dnl --with-gradle => use the wrapper in |mach gradle|, build with
> +        dnl Gradle by default.
> +        GRADLE=$srcdir/gradlew
> +        MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE=1
> +    else
> +        dnl --with-gradle=/path/to/gradle => use the given binary in |mach
> +        dnl gradle|, build with Gradle by default.
> +        GRADLE=$withval
> +        MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE=1

This could be simplified, but meh.
Attachment #8718444 - Flags: review?(mh+mozilla) → review+
Blocks: 1248698
Assignee: nobody → nalexander

Updated

Last year
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.