-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Bug 1625126 - Cache external dependencies in a single task and let gr… #10316
Conversation
e95d2db
to
088022f
Compare
Codecov Report
@@ Coverage Diff @@
## master #10316 +/- ##
=========================================
Coverage 19.53% 19.53%
Complexity 601 601
=========================================
Files 357 357
Lines 14421 14421
Branches 1940 1940
=========================================
Hits 2817 2817
Misses 11348 11348
Partials 256 256 Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is finally ready for review. I found what was the root cause of the dependencies task timing out: #10439. Once that problem was worked around, it was fairly easy to get that task run under 30 minutes 👌
The rest of the PR is similar to the one we had in A-C.
I tested :
- nightly https://firefox-ci-tc.services.mozilla.com/tasks/groups/N13jugtWRyy2pE7cbDaNRw
- beta: https://firefox-ci-tc.services.mozilla.com/tasks/groups/Xxh4npXRTYuVUfoA8Cukzg (the mark-as-shipped task is expected to fail because I didn't use https://shipit.staging.mozilla-releng.net/)
- production: https://firefox-ci-tc.services.mozilla.com/tasks/groups/PaajSOBDRWOmg0-GbOb6TQ (same)
- browser time https://firefox-ci-tc.services.mozilla.com/tasks/groups/WYEt3-u2TWKUYK1cvcL-9g (several tasks failed because of an unrelated bug which is going to be fixed with Bug 1627027 - Use nightly Fenix variant. #10265, @gmierz confirmed it)
provisioner: 'mobile-{level}' | ||
implementation: docker-worker | ||
os: linux | ||
worker-type: b-linux-large |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This instance type is used by android-components. Using it reduces the time taken by the dependencies task from 30-40 minutes down to 20-30.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I want to start looking into reducing the number of build variants. I believe that this will also significantly reduce the assemble
time.
|
||
|
||
# ./gradlew lint is missing because of https://github.com/mozilla-mobile/fenix/issues/10439. So far, | ||
# we're lucky and the dependencies it fetches are found elsewhere. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In addition to the regular builds, I checked the nightly, beta, and production graphs and none has complained about the lack of ./gradlew lint
👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
# License, v. 2.0. If a copy of the MPL was not distributed with this | ||
# file, You can obtain one at http://mozilla.org/MPL/2.0/. | ||
|
||
# %ARG DOCKER_IMAGE_PARENT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: Is this comment a leftover from testing? 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good question! This line is actually a template shortcut used by taskgraph. It allows us to reference a parent docker image which was built in Taskcluster too.
provisioner: 'mobile-{level}' | ||
implementation: docker-worker | ||
os: linux | ||
worker-type: b-linux-large |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I want to start looking into reducing the number of build variants. I believe that this will also significantly reduce the assemble
time.
…adle tasks use it
…adle tasks use it
Pull Request checklist
After merge
To download an APK when reviewing a PR: