The bugbug scheduler currently chooses which manifests are important, and we
then run *every* task that contains those manifests. This is likely overkill
and we can reduce the number of configurations we run these manifests on.
Differential Revision: https://phabricator.services.mozilla.com/D68466
--HG--
extra : moz-landing-system : lando
This adds an optional routes key to the task_task_config schema,
which is a list of strings. Anything in this key is added to the list
of routes for tasks scheduled by the decision task.
Differential Revision: https://phabricator.services.mozilla.com/D67827
--HG--
extra : moz-landing-system : lando
The definition for reftest/crashtest variants of web-platform-tests in web-platform.yml has a trailing `s` which is technically incorrect.
This causes problems when querying ActiveData for the runtimes for these subsuites since the suite name recorded in ActiveData has the trailing s.
Changes:
- remove the trailing `s` from the definitions
Differential Revision: https://phabricator.services.mozilla.com/D68069
--HG--
extra : moz-landing-system : lando
The bugbug scheduler currently chooses which manifests are important, and we
then run *every* task that contains those manifests. This is likely overkill
and we can reduce the number of configurations we run these manifests on.
Differential Revision: https://phabricator.services.mozilla.com/D68466
--HG--
extra : moz-landing-system : lando
This patch adds the capability to run Google Chrome for Android tests through Raptor-Browsertime.
Chrome must be available on the device being tested, and there are no installation steps being added in this patch since CI already has the latest Chrome version available to test with. That said, this patch adds the ability to find the version of Chrome that is being tested and stores this in the Perfherder artifact. Getting this version is also necessary to be able to run Chrome with the correct chromedriver.
Two tests are initially be enabled for Chrome in this patch: Amazon, and YouTube. They will only run through a cron task three days a week. The other changes done in this patch are required for Chrome to work with Raptor-Browsertime.
Differential Revision: https://phabricator.services.mozilla.com/D65610
--HG--
extra : moz-landing-system : lando
Changes:
Migrate all of the currently running tsan test suites to run on linux1804 instead.
All future test suites should also be added under the linux1804 label.
Depends on D67125.
Differential Revision: https://phabricator.services.mozilla.com/D68087
--HG--
extra : moz-landing-system : lando
Ensure a minimum of 1 chunk for "per-file" tests like test-verify when run on try, even when
no local file changes are detected. --full is still required.
Differential Revision: https://phabricator.services.mozilla.com/D67694
--HG--
extra : moz-landing-system : lando
Use finer granularity for some reftest/mochitest SCHEDULES.exclusive entries,
so that reftest-plain does not run when only crashtests are modified, and
vice versa; similarly, break up mochitest into mochitest/browser-chrome/chrome/
a11y. Use schedules-component instead of category.
Differential Revision: https://phabricator.services.mozilla.com/D60085
--HG--
extra : moz-landing-system : lando
The former two are not used anymore, and the latter can't be generated
on cross-builds, and it was agreed in bug 1563564 (and reconfirmed on
Matrix) that we can go without it until it's generated from separate
tasks.
More formally removing the former two will be the subject of a followup.
Differential Revision: https://phabricator.services.mozilla.com/D67580
--HG--
extra : moz-landing-system : lando
Add test package mach support for gtest and hook into the custom retrigger
action. Some existing custom retrigger features, like setting gecko prefs,
are not (easily) applicable to gtest, which doesn't use mozprofile; for
this reason, use a separate action context with items suitable for gtest.
Differential Revision: https://phabricator.services.mozilla.com/D67384
--HG--
extra : moz-landing-system : lando
Changes:
While stepping through the debugger for Bug 1608837, it was found that for `platform = windows` the conditional was always evaluating to `False` thereby loading the fallback `unix` runtimes.
Differential Revision: https://phabricator.services.mozilla.com/D67390
--HG--
extra : moz-landing-system : lando
The diff jobs currently take a Firefox package and compares against the
one from another build. When that fails, it also makes the diff of the
generated files, which can be useful when there are differences, but
can also be useful on its own. Also, because sometimes, like right now,
there are differences in generated files that have no impact on Firefox
itself, when differences do show up for Firefox, the differences in
generated files are added noise that sheriffs can't work around.
Differential Revision: https://phabricator.services.mozilla.com/D67113
--HG--
extra : moz-landing-system : lando
Remove the remainder of automation.py.in and the build support for generating
automation.py.
Some of this functionality was in use, especially for android tests.
Some code was moved or re-implemented in remoteautomation.py or in the affected
harness(es). Some features were removed: There are some minor changes in behavior.
For instance, instead of using a different server startup timeout for debug builds,
one value is used for all builds (due to performance improvements over time,
the longer timeout is no longer needed).
Differential Revision: https://phabricator.services.mozilla.com/D66839
--HG--
extra : moz-landing-system : lando
Update the default values to avoid common pitfalls, such as trying to repeat
a 30-minute long tasks 30x times with extra logging!
The new defaults allow a simple re-run of most tasks with no changes.
While we are here, tweak the parameter descriptions.
Differential Revision: https://phabricator.services.mozilla.com/D66842
--HG--
extra : moz-landing-system : lando
This patch removes the chromedriver for Chrome 78, and adds a chromedriver for Chrome 81.
Differential Revision: https://phabricator.services.mozilla.com/D66987
--HG--
extra : moz-landing-system : lando
This converts `--setenv` into `env` in `try_task_config` at parameter
generation time.
Differential Revision: https://phabricator.services.mozilla.com/D66537
--HG--
extra : moz-landing-system : lando
There are a number of settings that have equivalent expressions in
`try_options` (used for try syntax) and `try_task_config` (used for other try
selectors). Rather than requiring task generation code to understand both
formats, this converts the try syntax specification to `try_task_config` at
parameter generation time.
Differential Revision: https://phabricator.services.mozilla.com/D66536
--HG--
extra : moz-landing-system : lando
This allows us to change the default optimization strategy used in try pushes.
While probably not super useful to developers, it can help us easily test
changes to new and experimental optimizations on try.
This also changes the default to the 'bugbug_push_schedules' strategy, since
SETA is more or less random and shouldn't be used by 'mach try auto'. In the
future, we'll switch this back to simply using the default optimization as the
default will ideally be the best one that we have.
Differential Revision: https://phabricator.services.mozilla.com/D65746
--HG--
extra : moz-landing-system : lando
The 'auto' in 'mach try auto' stands for two things:
1. It automatically picks tasks for you.
2. It runs the same scheduling algorithms as autoland.
It accomplishes this by creating a new target_tasks method that spoofs the
'project' parameter to autoland.
Differential Revision: https://phabricator.services.mozilla.com/D60184
--HG--
extra : moz-landing-system : lando
Changes:
As documented in bug 1621483, `marionette` experiences a non-trivial amount of issues when run on ubuntu1804 docker image with GTK/GNOME desktop environment enabled.
GTK/GNOME has a higher degree of asynciness when manipulating window size/position and this leads to `marionette` and the derived suite `web-platform-tests-wdspec` reporting intermittent oranges for a number of tests.
While attempts were made to incorporate a fix for the marionette driver itself, the best attempts have only been able to achieve a ~50% reliability in green runs.
This patch reintroduces the use of bare `compiz` window manager exclusively for these two problematic test suites so that at least the tests are running on non-legacy software.
Differential Revision: https://phabricator.services.mozilla.com/D66482
--HG--
extra : moz-landing-system : lando
Adjust runme to be executable
Rm sdk/pltf install.Manually add meta
Enforce firefox run instead of notify
Add policy to disable updates
Temp hack to default to firefox instead of notify-send
Fix mach linters
Remove firefox command hack. Proper fix
Remove duplicate cmd in runme
Fix indentantion in kind
Fix more linters
Differential Revision: https://phabricator.services.mozilla.com/D59561
--HG--
extra : moz-landing-system : lando
Changes:
Replaces all instances of `itervlaues` and `iteritems` with `six` variant in try_option_syntax.py.
Differential Revision: https://phabricator.services.mozilla.com/D61055
--HG--
extra : moz-landing-system : lando
Bug 1602446 disabled coalescing for tasks which was designed to reduce load on
the pools which ran those tasks by skipping some of them. After coalescing was
affecting almost no tasks, it started to coalesce more tasks in November 2019
(bug 1602446) up to a level for which too few tasks ran and test coverage was
impacted. Coalescing got disabled and the conclusion is that coalescing is
currently not needed.
Differential Revision: https://phabricator.services.mozilla.com/D65733
--HG--
extra : moz-landing-system : lando
Simple update to strings and names for the custom retrigger action, in preparation
for the addition of more tasks.
Differential Revision: https://phabricator.services.mozilla.com/D65582
--HG--
rename : taskcluster/taskgraph/actions/retrigger_mochitest.py => taskcluster/taskgraph/actions/retrigger_custom.py
extra : moz-landing-system : lando
Define and use fuzzing-builds optimization strategy that allows either
skip-unless-schedules or seta strategies.
Differential Revision: https://phabricator.services.mozilla.com/D64628
--HG--
extra : moz-landing-system : lando
These jobs only use the workspace for obj directories, have some some logic to
cleanup the directory at the beginning of the run, so there is no reason to
cache the directory.
This also removes the now-unused common code for creating a workspace cache directory.
Differential Revision: https://phabricator.services.mozilla.com/D62486
--HG--
extra : moz-landing-system : lando
Since the workspace is no longer cached, but needs to be a volume for
performance reasons, add a check to ensure that is the case.
Differential Revision: https://phabricator.services.mozilla.com/D62484
--HG--
extra : moz-landing-system : lando
Since mozharness tasks are no longer caching the workspace directory, we don't
need a key for different tasks.
Differential Revision: https://phabricator.services.mozilla.com/D62483
--HG--
extra : moz-landing-system : lando
This moves the object directory and source directories around in all mozharness
jobs, to allow enabling caching on windows builders.
This makes a number of changes that all need to land at once:
- Move the source checkout for the workspace cache mount, to the checkouts
cache mount.
- Makes the object directoy from underneath the source directory, to directly
in the work directory (which is still under `workspace`).
- Sets the object directory to `obj-build` instead of `obj-firefox`.
- Stops caching the workspace directory (it is still a volume in docker workers,
so writes perform well; a followup revision add some checks around this).
- Removes one level of directory in the mozharness workdir (things were under
`workspace/build`, but are now just under `workspace/`.
- Adjust paths in environment variables and artifact specifications to match
the above changes.
Differential Revision: https://phabricator.services.mozilla.com/D62482
--HG--
extra : moz-landing-system : lando
Changes:
Replaces all instances of `itervlaues` and `iteritems` with `six` variant.
Differential Revision: https://phabricator.services.mozilla.com/D61055
--HG--
extra : moz-landing-system : lando
add_args_to_command in taskcluster/taskgraph/actions/util.py assumes that the
cmd_parts argument on OSX consists of a list containing a single list item.
This is not always the case in that it is possible for cmd_parts to contain
multiple command such as changing file permissions before executing a test command.
This patch adds a check for cmd_parts consisting of a list of two items, the
second of which is a list. The extra_args are appended to the second item. The
existing behavior for a cmd_parts argument consisting of a list containing a
single list item is preserved for backwards compatibility.
add_args_to_command also suffers from an additional problem in that it modifies
the cmd_parts argument which results in the object being modified in the caller.
create_isolate_failure_tasks in taskcluster/taskgraph/actions/isolate_test.py also
suffers from the modification of the task_description argument. This is fixed
by using deepcopied versions of the objects in the corresponding functions.
create_isolate_failure_tasks handling of empty failure groups and unknown
failure groups is also improved.
Differential Revision: https://phabricator.services.mozilla.com/D65430
--HG--
extra : moz-landing-system : lando
Changes:
Remove `ubuntu-bionic` flag that was used during development to enable use of ubuntu1804-test docker image.
Remove unnecessary conditional and in the process rewrite how `runtests.py` checks the environment for `pactl` prior to running mochitests.
Differential Revision: https://phabricator.services.mozilla.com/D65389
--HG--
extra : moz-landing-system : lando
Changes:
Cleaned up a lot of the unnecessary environment variables that was inherited from previous build and test systems.
Differential Revision: https://phabricator.services.mozilla.com/D65361
--HG--
extra : moz-landing-system : lando
Calling the merge day automation requires an action so that we can pass in parameters such as source and destination repository and branch.
Differential Revision: https://phabricator.services.mozilla.com/D62763
--HG--
extra : moz-landing-system : lando
There's no way for Thunderbird to define a new task kind at the moment because
the verify_docs function only checks one base path.
This adds a 'documentation_paths' registry that holds a list of paths to check
for documentation files. Calling documentation_paths() with a filename later
will read all the files it finds with that name under all of the base paths,
returning them in one chunk. This minimizes the necessary changes to verify_docs
itself.
Differential Revision: https://phabricator.services.mozilla.com/D60298
--HG--
extra : moz-landing-system : lando
Adding 'try' to 'run-on-projects' is a no-op anyway, so we should avoid it.
Differential Revision: https://phabricator.services.mozilla.com/D64645
--HG--
extra : moz-landing-system : lando
Future work should hopefully find a way to not assume tests are packaged with beetmover, and to have a solution for w64's emefree design.
Differential Revision: https://phabricator.services.mozilla.com/D64429
--HG--
extra : moz-landing-system : lando
Also adjust artifacts based on dep_kind, and make build-notarization-part-1
a build-signing dependency.
Differential Revision: https://phabricator.services.mozilla.com/D57738
--HG--
extra : moz-landing-system : lando
We should move beetmover-geckoview to the multi_dep loader. Until then, this should un-break us when we adjust build-signing deps. Unknown deps will still lead to declarative artifacts bustage.
Differential Revision: https://phabricator.services.mozilla.com/D57732
--HG--
extra : moz-landing-system : lando
The single-locale group_by function works for tasks with a single locale each, but doesn't work when we want to maintain the same l10n chunks as our parent task. Because we want to make nightly-l10n-signing multi_dep, we'll need to group_by chunk-locales.
Differential Revision: https://phabricator.services.mozilla.com/D57730
--HG--
extra : moz-landing-system : lando
First, let's add {only,not}-for-attributes to multi_dep so we can switch single_dep kinds over more easily. Second, let's put it into its own helper function, so we don't have to copy the same set of if blocks in each grouping function.
Differential Revision: https://phabricator.services.mozilla.com/D57729
--HG--
extra : moz-landing-system : lando
We don't need to package tests for builds that we don't actually run
tests from, but it is tricky to align this correctly by setting
MOZ_AUTOMATION_PACKAGE_TESTS=0 in relevant mozconfigs. Instead we can
set the environment variable in the task definition, and use a full
taskgraph verification check to ensure that the flag is only set on
builds that have tests.
The one tricky area is the win64-aarch64 builds, which have a workaround
by specifying the new skip-verify-test-packaging attribute.
In one case, win64-aarch64-shippable has tests that run against it, but
it copies those tests from a win64-aarch64-shippable-no-eme task, which
itself has no tests. Both of those tasks need to skip the verify check
as a result.
In another case, the win64-aarch64-eme task is an artifact build that
grabs test packages from the win64-aarch64 build. Since the win64-aarch64
build doesn't have tests, it needs to skip the verify check.
Differential Revision: https://phabricator.services.mozilla.com/D59426
--HG--
extra : moz-landing-system : lando