Commit Graph

291 Commits

Author SHA1 Message Date
Kunchanapalli Shriram
75c48c9453 Bug 1518313 - Removes --geckoProfile from talos-test mach command and replaces it with --gecko-profile; r=AlexandruIonescu,perftest-reviewers
Also removes import argparse as per https://bugzilla.mozilla.org/show_bug.cgi?id=1518313#c15
Addresses defect found in code analysis as per https://code-review.moz.tools/#/diff/242580
Changes parameters value as per https://phabricator.services.mozilla.com/D66380#2132590

Differential Revision: https://phabricator.services.mozilla.com/D66380
2020-06-09 13:22:15 +00:00
Bogdan Tara
7e299a95cf Backed out 3 changesets (bug 1640278) for verify lint failure CLOSED TREE
Backed out changeset e63b60fe21fe (bug 1640278)
Backed out changeset dbf1e5788c22 (bug 1640278)
Backed out changeset 27ae032f17be (bug 1640278)
2020-06-05 22:59:20 +03:00
Justin Wood
fe8c054562 Bug 1640278 - Fixup run-on-projects verification failures. r=sylvestre
This is in-part a followup to 1638260 which fixed some cases of this problem.

Differential Revision: https://phabricator.services.mozilla.com/D76746
2020-06-05 14:52:03 +00:00
Marco Castelluccio
9e95f1a2e5 Bug 1637544 - Add a 'project' to the fake parameters used during taskgraph tests. r=tomprince DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D78399
2020-06-04 21:52:34 +00:00
Tom Prince
ca6c9020de Bug 1641971: [taskgraph] Always pass an explicit decision task id to create_tasks; r=Callek
Differential Revision: https://phabricator.services.mozilla.com/D77551
2020-06-03 02:35:03 +00:00
Tom Prince
6617f03f05 Bug 1641971: Allow references to decision task via task-reference/artifact-reference; r=Callek
Differential Revision: https://phabricator.services.mozilla.com/D77547
2020-06-03 02:43:34 +00:00
Tom Prince
01e244f62c Bug 1641971: Allow making references to a task itself in the task definition; r=Callek
This is to support linking to the a specific task in taskcluster.

Differential Revision: https://phabricator.services.mozilla.com/D77529
2020-06-03 02:35:14 +00:00
Narcis Beleuzu
479c45bbea Backed out 7 changesets (bug 1641971) for breaking Gecko Decision Task opt . CLOSED TREE
Backed out changeset a039e60a26d2 (bug 1641971)
Backed out changeset e7d4c490c31a (bug 1641971)
Backed out changeset f2322981b294 (bug 1641971)
Backed out changeset d123b08d2c20 (bug 1641971)
Backed out changeset 57772c0b9b3e (bug 1641971)
Backed out changeset 11a887f73dbb (bug 1641971)
Backed out changeset e9c7a59d4bc5 (bug 1641971)
2020-06-03 05:30:51 +03:00
Tom Prince
f32e4a4f4d Bug 1641971: [taskgraph] Always pass an explicit decision task id to create_tasks; r=Callek
Differential Revision: https://phabricator.services.mozilla.com/D77551
2020-06-02 18:23:19 +00:00
Tom Prince
602da9cdcd Bug 1641971: Allow references to decision task via task-reference/artifact-reference; r=Callek
Differential Revision: https://phabricator.services.mozilla.com/D77547
2020-06-02 18:50:10 +00:00
Tom Prince
de6126516d Bug 1641971: Allow making references to a task itself in the task definition; r=Callek
This is to support linking to the a specific task in taskcluster.

Differential Revision: https://phabricator.services.mozilla.com/D77529
2020-06-02 18:22:55 +00:00
Andrew Halberstadt
f0e5f6ed7b Bug 1633866 - [taskgraph] Create a system to choose how test manifests are loaded via a parameter, r=tomprince
Currently test manifests are loaded by instantiating a TestResolver and
traversing moz.build files to find manifests.

With 'manifest-scheduling', we'll want to grab the manifests directly from the
bugbug service instead. Initially we'll want to enable manifest-scheduling with
|mach try auto|, but not on autoland yet.

This patch will allow |mach try auto| to set the parameter that causes bugbug
to be used (see future commits in this bug).

Differential Revision: https://phabricator.services.mozilla.com/D76522
2020-05-29 18:51:14 +00:00
Andrew Halberstadt
e5ab1dc839 Bug 1641283 - [taskgraph] Upload bugbug push schedules API data to an artifact rather than the log, r=marco
Differential Revision: https://phabricator.services.mozilla.com/D77140
2020-05-29 14:39:38 +00:00
Andrew Halberstadt
cc77d57a4a Bug 1641065 - [taskgraph.optimize] Refactor the 'test_optimziation' flag to a set of projects, r=marco
Instead of a boolean, it's now a set of projects for which tasks should be removed.
If they project doesn't match the specified set it will be kept.

This ensures tasks that have these optimzers applied won't run on |mach try auto|.

Differential Revision: https://phabricator.services.mozilla.com/D76987
2020-05-27 11:52:54 +00:00
Andrew Halberstadt
3901f12775 Bug 1640580 - [taskgraph.util.bugbug] Translate WPT paths from relative source directory to WPT ids, r=marco
Differential Revision: https://phabricator.services.mozilla.com/D76719
2020-05-25 15:44:58 +00:00
Marco Castelluccio
b8cc8c44d6 Bug 1638945 - Update 'platform-debug' strategy test to make sure tasks with no build_type are not optimized. r=ahal. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D76013
2020-05-19 18:24:34 +00:00
Andrew Halberstadt
4b335c6cd5 Bug 1637385 - [taskgraph] Remove the bugbug 'combined' flag and related shadow-scheduler, r=marco
This feature A) scheduled way too many tasks, and B) won't be that useful anyway once we
switch to manifest-scheduling.

Differential Revision: https://phabricator.services.mozilla.com/D75399
2020-05-15 14:04:56 +00:00
Marco Castelluccio
5747ae4098 Bug 1638103 - Stop trying to hit bugbug after it times out. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D75409
2020-05-14 20:05:48 +00:00
Mitchell Hentges
2e71833471 Bug 1636209: resolves tests that were incorrectly marked as xfail r=tomprince
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
2020-05-07 23:41:35 +00:00
Marco Castelluccio
8c86cc7f1a Bug 1635940 - Add an optional fallback for the bugbug optimizer and define a new strategy using it. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D74257
2020-05-07 19:36:22 +00:00
Mitchell Hentges
95310794d0 Bug 1632429: Improve py3-compatiblity of taskgraph; r=tomprince,ahal
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
2020-05-07 04:47:17 +00:00
Marco Castelluccio
dea16d0d16 Bug 1635149 - Force scheduling tasks which were not known when the bugbug test selection model was trained. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D73718
2020-05-04 15:05:15 +00:00
Andrew Halberstadt
984515c753 Bug 1633866 - [taskgraph.optimize] Move logic to query 'bugbug' service to a utility file, r=marco
With dynamic-test-selection, we'll also need to query the bugbug service from
the transforms. Let's move the querying logic to a utility file to share it
more easily.

Differential Revision: https://phabricator.services.mozilla.com/D73088
2020-04-30 13:53:01 +00:00
Andrew Halberstadt
45c245a6e3 Bug 1629642 - [taskgraph] Implement a 'disperse' platform optimization strategy r=marco
Differential Revision: https://phabricator.services.mozilla.com/D72465
2020-04-28 15:05:31 +00:00
Andrew Halberstadt
542d9d9bb9 Bug 1629642 - [taskgraph] Add an option to sum confidence thresholds of manifests in bugbug scheduler, r=marco
This adds a parameter that will cause a task to sum all the confidence
thresholds of the relative manifests it contains to gather a larger overall
task confidence.

This also adds a new strategy + shadow-scheduler to go along with it.

Differential Revision: https://phabricator.services.mozilla.com/D71314
2020-04-24 10:20:06 +00:00
Andrew Halberstadt
2628eda322 Bug 1629642 - [taskgraph] Pull bugbug's 'platform filter' into a standalone strategy, r=marco
This change is beneficial for two reasons:

1) Improvement on the single responsibility principle
2) Platform filter isn't 'bugbug' specific. E.g, the 'relevant tests' optimizer
could also theoretically use this. Having it as a standalone optimizer allows
us to compose it with other strategies.

Differential Revision: https://phabricator.services.mozilla.com/D71210
2020-04-22 19:16:02 +00:00
Andrew Halberstadt
3362e14674 Bug 1625200 - [taskgraph] Pull the 10th push backstop out of SETA, r=tomprince
We'll want some kind of backstop no matter what optimization algorithm we use.
We don't want to go too long without running any given task so we can find
regressions quickly and have a good merge candidate.

This pulls the logic that handles this out of the SETA strategy and into its
own strategy.

This will also make the SETA shadow scheduler more representative of what the
algorithm is doing.

Note in the future we may find ways to make this backstop more efficient (i.e
only run tasks that didn't run in the last 9 pushes for example).

Depends on D68621

Differential Revision: https://phabricator.services.mozilla.com/D68622

--HG--
extra : moz-landing-system : lando
2020-04-15 19:45:34 +00:00
Andrew Halberstadt
9068d6134d Bug 1625200 - [taskgraph] Implement an 'All' composite strategy, r=tomprince
I'd like to implement a 'backstop' strategy, such that it will prevent all other
optimizers from removing tasks under certain conditions (e.g every 10th push).

The nicest way to implement this seems to be an 'All' composite strategy
(similar to 'Either' which this patch renames to 'Any'). This means we could
do something like:

All("seta", "backstop")

which means we would only remove tasks if *all* substrategies say to remove
tasks.

Differential Revision: https://phabricator.services.mozilla.com/D68620

--HG--
extra : moz-landing-system : lando
2020-04-15 19:44:10 +00:00
Andreea Pavel
f7dc8eb0a5 Backed out 3 changesets (bug 1625200) for breaking gecko decision task on a CLOSED TREE
Backed out changeset efffde76e782 (bug 1625200)
Backed out changeset 23bfe65864c1 (bug 1625200)
Backed out changeset 7d1a3690be7d (bug 1625200)

--HG--
extra : rebase_source : cbca1f001730c0973dbb3a2ee335a93301797c33
2020-04-15 18:49:02 +03:00
Andrew Halberstadt
4ef20cf6fd Bug 1625200 - [taskgraph] Pull the 10th push backstop out of SETA, r=tomprince
We'll want some kind of backstop no matter what optimization algorithm we use.
We don't want to go too long without running any given task so we can find
regressions quickly and have a good merge candidate.

This pulls the logic that handles this out of the SETA strategy and into its
own strategy.

This will also make the SETA shadow scheduler more representative of what the
algorithm is doing.

Note in the future we may find ways to make this backstop more efficient (i.e
only run tasks that didn't run in the last 9 pushes for example).

Depends on D68621

Differential Revision: https://phabricator.services.mozilla.com/D68622

--HG--
extra : moz-landing-system : lando
2020-04-15 15:33:33 +00:00
Andrew Halberstadt
822b827fdc Bug 1625200 - [taskgraph] Implement an 'All' composite strategy, r=tomprince
I'd like to implement a 'backstop' strategy, such that it will prevent all other
optimizers from removing tasks under certain conditions (e.g every 10th push).

The nicest way to implement this seems to be an 'All' composite strategy
(similar to 'Either' which this patch renames to 'Any'). This means we could
do something like:

All("seta", "backstop")

which means we would only remove tasks if *all* substrategies say to remove
tasks.

Differential Revision: https://phabricator.services.mozilla.com/D68620

--HG--
extra : moz-landing-system : lando
2020-04-15 14:38:01 +00:00
Marco Castelluccio
dbb63b7e43 Bug 1629027 - Define a new shadow scheduler using the reduced set of tasks chosen by bugbug. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D70713

--HG--
extra : moz-landing-system : lando
2020-04-14 10:43:44 +00:00
Marco Castelluccio
2843bff098 Bug 1624437 - Define three different bugbug scheduling strategies using different confidence thresholds. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D68426

--HG--
extra : moz-landing-system : lando
2020-04-06 22:50:19 +00:00
Andrew Halberstadt
d45b3cf7a4 Bug 1624902 - [taskgraph] Implement substrategies in the bugbug scheduler for dealing with platforms, r=marco
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
2020-04-01 13:43:48 +00:00
Csoregi Natalia
e1af17b6c1 Backed out 4 changesets (bug 1624902) for failures on test_optimize_strategies.py. CLOSED TREE
Backed out changeset b500403daa0c (bug 1624902)
Backed out changeset bf817363344e (bug 1624902)
Backed out changeset c7a62f2d9034 (bug 1624902)
Backed out changeset 08356d478d16 (bug 1624902)
2020-04-01 00:09:34 +03:00
Andrew Halberstadt
8787bbc73a Bug 1624902 - [taskgraph] Implement substrategies in the bugbug scheduler for dealing with platforms, r=marco
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
2020-03-31 17:57:50 +00:00
Andrew Halberstadt
2b0d97aaa4 Bug 1625168 - [taskgraph] Raise exception when timing out waiting for bugbug service, r=marco
Differential Revision: https://phabricator.services.mozilla.com/D68431

--HG--
extra : moz-landing-system : lando
2020-03-26 18:52:33 +00:00
Andrew Halberstadt
05c87fca29 Bug 1624437 - [taskgraph] Handle the upcoming data format in the bugbug optimization strategy, DONTBUILD, r=marco
Differential Revision: https://phabricator.services.mozilla.com/D67925

--HG--
extra : moz-landing-system : lando
2020-03-24 14:37:08 +00:00
Tom Prince
5f37a68c8b Bug 1508504: [tryselect] Handle try syntax --setenv like --env; r=ahal
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
2020-03-14 01:18:44 +00:00
Tom Prince
a917dc47e9 No bug: [taskgraph] Extract common setting from try_options to try_task_config in parameters; r=ahal
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
2020-03-14 01:18:34 +00:00
Andrew Halberstadt
b395876bc4 Bug 1603459 - [taskgraph] Add an optimizer that queries the bugbug /push/schedules endpoint, r=tomprince
Creates an optimizer that queries https://bugbug.herokuapp.com/push/<branch>/<rev>/schedules
to determine which tasks to run.

Differential Revision: https://phabricator.services.mozilla.com/D65585

--HG--
extra : moz-landing-system : lando
2020-03-13 20:30:34 +00:00
Rob Lemley
29c4b97622 Bug 1609987 - unittests for taskgraph.util.verify. r=tomprince
Some initial tests for verify docs functionality.

Differential Revision: https://phabricator.services.mozilla.com/D60299

--HG--
extra : moz-landing-system : lando
2020-02-28 21:14:03 +00:00
Geoff Brown
33be582009 Bug 1612149 - Update linux64 try syntax aliases for 18.04; r=jmaher
Update existing unit test aliases for linux64 to include the new 18.04 platforms.

Differential Revision: https://phabricator.services.mozilla.com/D62137

--HG--
extra : moz-landing-system : lando
2020-02-10 14:51:53 +00:00
Rob Lemley
341e038223 Bug 1609987 - Port bug 1568006: Add project's taskgraph directory to the python path. r=tomprince
For mozilla-central, all the code related to taskgraph lives in
taskcluster/taskgraph. Thunderbird's build requirements are evolving, and
we want to be able to have repository-specific code. The natural place for it
to live is an a package beside taskcluster/ci. Add that to python path,
and provide some hooks for adding to the various registries in taskgraph.

Differential Revision: https://phabricator.services.mozilla.com/D60540

--HG--
extra : moz-landing-system : lando
2020-01-23 17:09:41 +00:00
Tom Prince
ecd3506c24 Bug 1611023: [taskgraph] Fix python3 flake8 errors in taskgraph; r=Callek
Differential Revision: https://phabricator.services.mozilla.com/D60782

--HG--
extra : moz-landing-system : lando
2020-01-23 03:35:31 +00:00
Ricky Stewart
0fa8a98bdb Bug 1524639: [taskgraph] Enforce unicode strings in schemas r=tomprince
Differential Revision: https://phabricator.services.mozilla.com/D18376

--HG--
extra : moz-landing-system : lando
2020-01-21 17:12:08 +00:00
Razvan Maries
ffc90b2ec8 Backed out changeset a57aed49dc58 (bug 1524639) for beetmover bustages. a=backout 2020-01-16 14:04:31 +02:00
Ricky Stewart
fecc988cc6 Bug 1524639: [taskgraph] Enforce unicode strings in schemas r=tomprince
Differential Revision: https://phabricator.services.mozilla.com/D18376

--HG--
extra : moz-landing-system : lando
2020-01-15 20:33:20 +00:00
Stephen Donner
14559f8276 Fix Bug 1607344; remove legacy stylo-seq linux64 jobs. r=erahm,jmaher
Differential Revision: https://phabricator.services.mozilla.com/D59466

--HG--
extra : moz-landing-system : lando
2020-01-14 22:36:47 +00:00
Mihai Alexandru Michis
227405cbbd Backed out changeset fd1001cea260 (bug 1607344) for causing wpt failures regarding single_stylo_traversal.
CLOSED TREE
2020-01-11 09:55:56 +02:00