Closed Bug 1600314 Opened 4 years ago Closed 4 years ago

Take 'ancestor-manifest' into account in the 'chunk_by_runtime' algorithm

Categories

(Testing :: Mozbase, task, P1)

Version 3
task

Tracking

(firefox73 fixed)

RESOLVED FIXED
mozilla73
Tracking Status
firefox73 --- fixed

People

(Reporter: ahal, Assigned: ahal)

References

Details

Attachments

(3 files)

Some manifests are included by others. These are not registered directly in moz.build files, rather they get included by other manifests. These parents can specify defaults that propagate down to the child, so we need to make sure we never split these child manifests from their parents.

Also rename the key from 'ancestor-manifest' to 'ancestor_manifest' to be
consistent with other keys.

Ensures child (aka included) manifests always run in the same chunk as their parent.

Depends on D55283

Some manifests get included by parent manifests (e.g [include:<child
manifest>]). The runtime of these manifests should be rolled into the runtime
of the parent manifest as that is how it will be run in CI.

This change also updates the runtimes files to incorporate this change.

Depends on D55284

Pushed by ahalberstadt@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d28d71c964c7
[manifestparser] Make 'ancestor_manifest' a relative path, r=gbrown
https://hg.mozilla.org/integration/autoland/rev/3c4063b93ce7
[manifestparser] Use 'ancestor_manifest' in the 'chunk_by_runtime' filter (if it exists), r=gbrown
https://hg.mozilla.org/integration/autoland/rev/4c4e74df38bd
[runtimes] Don't store runtime information for included manifests, r=gbrown

This happened because in CI we generate a "root" manifest in the test package that includes every other manifest. So this generated "root" manifest was listed as the "ancestor_manifest" of every single test, resulting in only a single manifest to chunk across all chunks.

While I tested this change, it was alongside the main taskgraph chunking series, which moves the chunking logic to the decision task (where we don't deal with test packages).

One potential strategy is to roll the chunk_by_runtime change into the larger series so we don't get into this intermediate state. Though doing this would mean we need to support at least browser-chrome, devtools and mochitest-media right out of the gate.

Flags: needinfo?(ahal)
Pushed by ahalberstadt@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a147516fef23
[manifestparser] Make 'ancestor_manifest' a relative path, r=gbrown
https://hg.mozilla.org/integration/autoland/rev/ceffb2fcecdd
[runtimes] Don't store runtime information for included manifests, r=gbrown
https://hg.mozilla.org/integration/autoland/rev/07a2031c69c8
[manifestparser] Use 'ancestor_manifest' in the 'chunk_by_runtime' filter (if it exists), r=gbrown
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla73
Regressions: 1644223
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: