firefox-android: Have Focus dependencies known by taskgraph.
Categories
(Release Engineering :: General, task)
Tracking
(Not tracked)
People
(Reporter: jlorenzo, Assigned: jlorenzo)
References
Details
Attachments
(5 files)
In mozilla-mobile/android-components#7617, we optimized the number of Android-Components tasks scheduled by stripping away the components that remained unchanged. This happened with a few shortcomings like bug 1642977. Another one is this implementation betrays the core design of taskgraph. Taskgraph first generates the full graph before optimizing it[1]. In the current implementation, jobs don't even get created so they never make the full graph.
With Fenix coming to the Android monorepo, we want to be smarter about the way we schedule tasks. For instance a change in Fenix shouldn't trigger Focus tasks and the other way around. Similarly for A-C: a change in a component used by Fenix must trigger Fenix tasks. This means, we need to revisit how we make links between Taskcluster tasks and we should stop preventing them from reaching the full graph. Otherwise, Fenix is unable to when it needs to be rebuilt, for instance.
We can leverage what was done in mozilla-mobile/android-components#7617 by calling gradle and parsing its output. For instance:
cd focus-android
./gradlew 'app:dependencies' --configuration 'implementation'
gave some interesting results. We should be able to use taskgraph's skip-unless-change
with a list of generated directories based on the output of such commands. That said, we should first handle bug 1642977. That bug will ensure the complete-push
/complete-pr
have the right dependencies.
Comment 1•1 year ago
|
||
Assignee | ||
Updated•1 year ago
|
Assignee | ||
Updated•1 year ago
|
Comment 2•1 year ago
|
||
Comment 3•1 year ago
|
||
Comment 4•1 year ago
|
||
Comment 5•1 year ago
|
||
Assignee | ||
Updated•1 year ago
|
Assignee | ||
Comment 6•1 year ago
|
||
Status update: We ended up implementing comment 0 for the focus migration (bug 1797704). We even leveraged the output to the decision task faster (bug 1788606). Fenix is not implemented yet but will reuse what we did in these 2 bugs. The next step is to build sample-browser
and focus-debug
only when changed (bug 1806601).
Thus, let's close this current bug as fixed.
Comment hidden (collapsed) |
Description
•