Changes:
Perform chunking of the web-platform-test in the decision task, using a runtime-weighted strategy.
Valid web-platform-tests will have its here attribute extracted to build a dictionary of test paths keyed by the top-level directory of the test path.
Once the dictionary is built, the keys are compared against test runtime data extracted from ActiveData in descending order. For all keys where test runtime information exists, chunk from the longest running key.
For remaining keys, equally distribute among all chunks.
Differential Revision: https://phabricator.services.mozilla.com/D71417
Changes:
Discontinues the installation of `fontconfig:i386` package in favor of the x64 variant.
Also, use a newer base image for ubuntu1804.
Depends on D74809.
Differential Revision: https://phabricator.services.mozilla.com/D74810
Changes:
While the ubuntu1804 migration work was taking place, `pulseaudio` related pieces of code were sprinkled across a wide variety of modules.
Now that things have settled down, remove and streamline `pulseaudio` initialization so that there are less places for this to go wrong.
Differential Revision: https://phabricator.services.mozilla.com/D74809
This patch is adding an option to push a perftest run in the CI.
It's based on :
- sparse profiles
- push_to_try
- options passed through try_task_config.json
Differential Revision: https://phabricator.services.mozilla.com/D74115
Changes:
While the ubuntu1804 migration work was taking place, `pulseaudio` related pieces of code were sprinkled across a wide variety of modules.
Now that things have settled down, remove and streamline `pulseaudio` initialization so that there are less places for this to go wrong.
Differential Revision: https://phabricator.services.mozilla.com/D74809
Due to the resource usage (over 8Gb memory per libxul), cost and low impact, stop generating partials for asan builds
Differential Revision: https://phabricator.services.mozilla.com/D74710
|./mach try| subcommands are now compatible with both python 2 and 3.
Hand-tested with many combinations of subcommand and subcommand flags.
Updates tryselect unit tests to use Python 3.
Differential Revision: https://phabricator.services.mozilla.com/D73398
Since we now run those tests in baremetal (which runs more parallel jobs
than packet.net), the variance of the time it takes to execute xpcshell
tests increased.
Differential Revision: https://phabricator.services.mozilla.com/D74703
In the 'chunk_by_runtime' algorithm a 'get_manifest' helper function is used to
determine what "manifest" a test belongs to. The logic is basically, if
'ancestor-manifest' exists then use that. Otherwise use 'manifest_relpath'.
We need to do this because in some cases a "shared" manifest can be included
multiple times from parent manifests, each with a different configuration.
However, when we calculate the "skipped" manifests in chunking.py, we were
simply using 'manifest_relpath' and ignoring 'ancestor-manifest'. I believe
this meant we were mis-reporting which manifests were skipped in the task logs.
It possibly even meant we were double-scheduling some tests (i.e, if the
'skip-if' was in the ancestor, not the shared one). I'm not sure if the double
scheduling was actually happening in practice, but it's certainly theoretically
possible.
Afaict, this only affected a handful of xpcshell manifests on Windows and
Android.
Depends on D74449
Differential Revision: https://phabricator.services.mozilla.com/D74451
This is instead of tests and will make it easier to re-use in the taskgraph.
This commit is a straight refactor and results in zero differences in the
taskgraph.
Depends on D74448
Differential Revision: https://phabricator.services.mozilla.com/D74449
When handling bug 1632429, I found some tests that worked on Python 2, but not Python 3.
They were marked accordingly as "expected failures". However, my system version of Python
is 3.8, while CI (and a non-trivial number of devs, probably) use 3.6.
Some of these tests marked as xfail were actually still working on versions of Python until 3.8.
The failure of this test was due to a change in default tarfile format. Explicitly setting this
format makes the tests pass in all relevant python versions.
Differential Revision: https://phabricator.services.mozilla.com/D74337
As |./mach| commands are migrated to python3, "taskgraph" needs to be compatible while still working with python2.
This patch migrates several iter*() calls and python2-specific imports to work with "six" instead.
Note that there's still python2-specific parts of taskgraph, I'm just modifying the pieces that are affecting
the code paths that I'm currently migrating (in this case, |./mach try|
Differential Revision: https://phabricator.services.mozilla.com/D73397
This patch changes the build variant we use for performance testing in raptor and browsertime from performance-test to the fennec-nightly build which is more representative of what a user might experience.
Depends on D68190
Differential Revision: https://phabricator.services.mozilla.com/D72886
This patch does a few things:
(1) Prevents Amazon and Youtube Fenix Browsertime tests from running on each push.
(2) Prevents Chrome Browsertime tests from running on each push (these should only run through the cron task).
(3) Prevents Speedometer Fenix Browsertime tests from running on each m-c push.
(4) Replaces the Raptor Fenix speedometer test in the general cron task with the Browsertime variant.
(5) Replaces the Raptor Fenix Amazon test with in the tp6m cron task with the Browsertime variant.
Differential Revision: https://phabricator.services.mozilla.com/D68190
This gets rid for the need of a number of local packages (mostly related
to Gtk+3). One exception is that we now need a 32-bits version of the
xz-utils package, some -dev package depends on it, and that dependency
can't be fulfilled in the 32-bits image because we already have the
64-bits backport installed, which conflicts with it (we need both
32-bits and 64-bits package to be at the same version when installed).
The system binutils fails to link clang-7 for some reason, so we now use
our toolchain binutils instead, like we already do for newer versions of
clang.
The debian-packages docker image now needs an explicit installation of
git, because it's not pulled in via the recommends of some other
package.
For some reason, snapshot.debian.org doesn't contain the jessie-backports
archive at the same location as others, and only has a few snapshots of
the archive.
Differential Revision: https://phabricator.services.mozilla.com/D73784
Now that upstream winchecksec builds and works natively on Linux, use
that. That should solve the random crashes under Wine. If random crashes
still happen, it will be easier to debug anyways.
We bump to the last version that doesn't use vcpkg because vcpkg makes
things more difficult.
Differential Revision: https://phabricator.services.mozilla.com/D73405
This is very similar to wcosta's earlier patch, with a few adjustments to overcome
special cases:
- remove the wrench override of adb path; handle in config instead
- fix taskcluster config syntax in a couple of places
- add android-sdk-linux fetch for test-verify
Differential Revision: https://phabricator.services.mozilla.com/D73157
This gets rid for the need of a number of local packages (mostly related
to Gtk+3). One exception is that we now need a 32-bits version of the
xz-utils package, some -dev package depends on it, and that dependency
can't be fulfilled in the 32-bits image because we already have the
64-bits backport installed, which conflicts with it (we need both
32-bits and 64-bits package to be at the same version when installed).
The system binutils fails to link clang-7 for some reason, so we now use
our toolchain binutils instead, like we already do for newer versions of
clang.
The debian-packages docker image now needs an explicit installation of
git, because it's not pulled in via the recommends of some other
package.
For some reason, snapshot.debian.org doesn't contain the jessie-backports
archive at the same location as others, and only has a few snapshots of
the archive.
Differential Revision: https://phabricator.services.mozilla.com/D73784