Closed Bug 1884675 Opened 1 year ago Closed 4 months ago

add fenix build task in CI that builds from the root gradle project

Categories

(Fenix :: Tooling, task, P1)

All
Android
task

Tracking

(firefox134 fixed)

RESOLVED FIXED
134 Branch
Tracking Status
firefox134 --- fixed

People

(Reporter: jcristau, Assigned: adhingra)

References

(Blocks 1 open bug)

Details

(Whiteboard: [fxdroid][group3])

Attachments

(1 file, 1 obsolete file)

The current A-C/focus/fenix builds in CI depend on an upstream task for geckoview, and then use gradlew from a mobile/android subdirectory. We want to support building these projects directly from the root, to make things easier for e.g. geckoview or platform engineers. To avoid breaking that workflow we should have at least one task in CI that uses that configuration.

See Also: → 1891159

While we were connecting both the Android and the Gecko build systems, we broke the build from the top level directory. This part of the code base remains brittle. Let's add this CI task in the next cycle so we're immediately aware of the next breakage. This way, developers won't checkout the latest mozilla-central while not being able to build from the root directory anymore.

Edit: I just stumbled upon a more recent example: bug 1891130.

Priority: -- → P1
Depends on: 1891159
Depends on: 1891130
No longer depends on: 1891159
Severity: -- → N/A
Component: General → Tooling
Assignee: nobody → adhingra
Status: NEW → ASSIGNED
Attachment #9420920 - Attachment description: WIP: Bug 1884675 - Add fenix build task in CI that builds from the root gradle project → Bug 1884675 - Add fenix build task in CI that builds from the root gradle project

(In reply to Julien Cristau [:jcristau] from comment #0)

The current A-C/focus/fenix builds in CI depend on an upstream task for geckoview, and then use gradlew from a mobile/android subdirectory. We want to support building these projects directly from the root, to make things easier for e.g. geckoview or platform engineers. To avoid breaking that workflow we should have at least one task in CI that uses that configuration.

As Aadi works on this, and as I review, some fundamental questions have arisen.

Is the idea that we want to exercise mach build && gradlew fenix:assembleDebug? If that's the case, I think hammering out https://bugzilla.mozilla.org/show_bug.cgi?id=1883086 and then adding a build-kind task that does that Fenix and Focus makes the most sense. It's definitely not a toolchain task, and I don't really think it's a regular Android Gradle APK task either, since it's supposed to be exercising some of the GeckoView build.

If we don't really want to exercise the GeckoView build, and instead we want to fetch GeckoView from some other task (Maven artifacts), then that looks like an Android Gradle APK task. That's what Aadi has been pushing toward, and might justify some of the current patches choices that work around actually building GV.

IIRC the aim was to have something close-ish to what a local build would do, to have coverage in CI for that flow and avoid breaking it unknowingly. So ideally it would include building geckoview, I think?

Flags: needinfo?(jcristau)

My understanding here (that might be wrong or incomplete) is that having the new task (fenix-debug-root) build Fenix using geckoview built previously, as we do the the regular fenix-debug task, would already represent what a local build would do.

The only difference I see is that it is broken down into two separate parts:

  1. building GeckoView and packaging the dependencies
  2. use the dependencies packaged in step 1) (including GeckoView) to build fenix from the root folder.

Is there something I'm missing? Are there differences that would justify having the fenix-debug-root task both build GeckoView and build Fenix?

Attachment #9420920 - Attachment is obsolete: true
Whiteboard: [fxdroid][group3]
Pushed by adhingra@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6b565a5ee561 Add fenix build task in CI r=geckoview-reviewers,nalexander,owlish
Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → 134 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: