mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 00:35:44 +00:00
26e9db86f8
We've long handled chunks by defining the total number of chunks in our CI configuration, and then passing that value down into the test harnesses at task runtime (via the '--this-chunk' and '--total-chunks' parameters). The test harness then runs an algorithm to determine which tests should be run in "this" chunk. There are several problems with this approach, but by far the biggest is that we can't use test information in our scheduling algorithms. The information simply isn't available yet. This patch switches things around such that we determine which tests go in which tasks during the taskgraph generation. This means we have perfect information around which tasks are running which tests, and if e.g a ccov or machine learning algorithm deems a particular test important, we can make sure to *only* schedule the tasks that contain that test. I'm planning to enable this a couple suites at a time so we don't accidentally stop running tests. This specifically only enables this mode for 'mochitest-media', 'mochitest-browser-chrome' and 'mochitest-devtools-chrome'. I chose these suites because they are the ones that are already using the 'chunk_by_runtime' algorithm. Differential Revision: https://phabricator.services.mozilla.com/D52729 --HG-- extra : moz-landing-system : lando
81 lines
2.1 KiB
Plaintext
81 lines
2.1 KiB
Plaintext
%include build/sparse-profiles/mach
|
|
|
|
# In order to decide which docker images to build, we need all the
|
|
# files that docker images depend on as well
|
|
%include build/sparse-profiles/docker-image
|
|
|
|
[include]
|
|
# These files are read as part of generating the taskgraph.
|
|
path:browser/locales/l10n-changesets.json
|
|
path:browser/locales/l10n-onchange-changesets.json
|
|
path:mobile/locales/l10n-changesets.json
|
|
path:mobile/locales/l10n-onchange-changesets.json
|
|
path:browser/locales/shipped-locales
|
|
path:browser/config/version_display.txt
|
|
path:browser/config/version.txt
|
|
path:browser/config/whats_new_page.yml
|
|
|
|
# Lots of random files in here are read. Just pull in the whole thing.
|
|
path:build/
|
|
|
|
# TODO remove once bug 1402010 is resolved and test manifests aren't
|
|
# processed in Files() reading mode in moz.build files.
|
|
path:layout/tools/reftest/
|
|
path:testing/web-platform/tests/tools/
|
|
|
|
# The main meat of this profile.
|
|
path:taskcluster/
|
|
|
|
# Various files in these directories are read by taskgraph. Just pull
|
|
# them all in.
|
|
path:testing/config/tooltool-manifests/
|
|
path:testing/mozharness/
|
|
path:tools/lint/
|
|
|
|
# for new-style try pushes
|
|
path:try_task_config.json
|
|
|
|
# Moz.build files are read in filesystem mode
|
|
glob:**/moz.build
|
|
glob:**/*.mozbuild
|
|
|
|
# Moz.configure files could trigger changes
|
|
glob:**/*.configure
|
|
|
|
# Tooltool manifests also need to be opened. Assume they
|
|
# are all somewhere in "tooltool-manifests" directories.
|
|
glob:**/tooltool-manifests/**
|
|
|
|
# For test chunking
|
|
glob:**/*.ini
|
|
glob:**/*.list
|
|
path:testing/mozbase/manifestparser
|
|
path:testing/runtimes
|
|
|
|
# For scheduling android-gradle-dependencies.
|
|
path:mobile/android/config/
|
|
glob:**/*.gradle
|
|
|
|
# for action-task building
|
|
path:.taskcluster.yml
|
|
path:.cron.yml
|
|
|
|
# for the wrench-deps toolchain task
|
|
path:gfx/wr/Cargo.lock
|
|
|
|
# for the mar-tools toolchain task
|
|
path:mfbt/
|
|
path:modules/libmar/
|
|
path:other-licenses/bsdiff/
|
|
path:other-licenses/nsis/Contrib/CityHash/cityhash/
|
|
path:toolkit/mozapps/update/updater
|
|
|
|
# for the browsertime toolchain task
|
|
path:tools/browsertime/mach_commands.py
|
|
path:tools/browsertime/package.json
|
|
|
|
# for the geckodriver toolchain task
|
|
path:testing/geckodriver
|
|
path:testing/mozbase/rust
|
|
path:testing/webdriver
|