Commit Graph

105 Commits

Author SHA1 Message Date
Andrew Halberstadt
bf68daa877 Bug 1673436 - [taskgraph] Run more manifests per-push on autoland, r=marco
This decreases the scheduling algorithm from a CT_MEDIUM (0.8) threshold to
CT_LOW (0.7). It also reduces the threshold used in the manifest resolving
algorithm down to 0.5. This means we'll have more "ride-along" manifests that
happen to be in the same chunk as the more important ones.

Differential Revision: https://phabricator.services.mozilla.com/D94757
2020-11-02 21:31:05 +00:00
Ricky Stewart
31b8ca9716 Bug 1654103: Standardize on Black for Python code in mozilla-central.
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-26 18:34:53 +00:00
Bogdan Tara
612312a64c Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for PanZoomControllerTest.touchEventForResult gv-junit failures CLOSED TREE
Backed out changeset ff3fb0b4a512 (bug 1672023)
Backed out changeset e7834b600201 (bug 1654103)
Backed out changeset 807893ca8069 (bug 1518999)
Backed out changeset 13e6b92440e9 (bug 1518999)
Backed out changeset 8b2ac5a6c98a (bug 1518999)
Backed out changeset 575748295752 (bug 1518999)
Backed out changeset 65f07ce7b39b (bug 1518999)
Backed out changeset 4bb80556158d (bug 1518999)
Backed out changeset 8ac8461d7bd7 (bug 1518999)
Backed out changeset e8ba13ee17f5 (bug 1518999)
2020-10-24 03:36:18 +03:00
Ricky Stewart
065d2eb893 Bug 1654103: Standardize on Black for Python code in mozilla-central. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 20:40:42 +00:00
Dorel Luca
95b44c982f Backed out changeset 7558c8821a07 (bug 1654103) for multiple failures. CLOSED TREE 2020-10-22 03:51:06 +03:00
Ricky Stewart
43baed3c18 Bug 1654103: Standardize on Black for Python code in mozilla-central. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-21 21:27:27 +00:00
Marco Castelluccio
2afd09bf37 Bug 1638447 - Drop the build-fuzzing optimization strategy and use 'skip-unless-expanded' instead. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D75625
2020-10-05 21:31:10 +00:00
Andrew Halberstadt
16b601cc2a Bug 1643689 - [taskgraph] enable manifest-scheduling on autoland, r=marco
Sets autoland to use the 'bugbug' test manifest loader. This is being enabled
as part of a temporary trial to see the impact it has on sheriffing.

Differential Revision: https://phabricator.services.mozilla.com/D90160
2020-09-30 13:27:14 +00:00
Marco Castelluccio
b1e652d264 Bug 1639164 - Define a shadow scheduler that uses bugbug's platform selection. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D91606
2020-09-28 17:06:33 +00:00
Andrew Halberstadt
aba9aaf6b8 Bug 1643689 - [taskgraph] Fix taskgraph tests broken by f07222b728fa,
Differential Revision: https://phabricator.services.mozilla.com/D91342
2020-09-24 20:05:06 +00:00
Andrew Halberstadt
66df383894 Bug 1643689 - [taskgraph] Fix error in 'split_bugbug_args', r=marco
The dict needs to be passed to the last two substrategies, not just the last
one.

Differential Revision: https://phabricator.services.mozilla.com/D90159
2020-09-17 22:49:19 +00:00
Andrew Halberstadt
ba0552dd93 Bug 1643689 - Backed out changeset 10110918b6c0
This was causing |mach try auto| to stop selecting manifests.

Differential Revision: https://phabricator.services.mozilla.com/D90553
2020-09-17 12:57:39 +00:00
Mihai Alexandru Michis
7880c3527d Backed out changeset 0b196026ed59 (bug 1643689) for causing issues with manifest scheduling.
CLOSED TREE
2020-09-17 11:26:12 +03:00
Andrew Halberstadt
4f67f40e40 Bug 1643689 - [taskgraph] enable manifest-scheduling on autoland, r=marco
Sets autoland to use the 'bugbug' test manifest loader. This is being enabled
as part of a temporary trial to see the impact it has on sheriffing.

Depends on D90159

Differential Revision: https://phabricator.services.mozilla.com/D90160
2020-09-14 23:12:31 +00:00
Andrew Halberstadt
7ff2636f14 Bug 1643689 - [taskgraph] Fix error in 'split_bugbug_args', r=marco
The dict needs to be passed to the last two substrategies, not just the last
one.

Differential Revision: https://phabricator.services.mozilla.com/D90159
2020-09-14 23:08:28 +00:00
Andrew Halberstadt
b3ed37fbe1 Bug 1656465 - [taskgraph.optimize] Rename 'push-interval-{10,20}' strategies to 'expanded' and 'backstop' respectively, r=marco
This removes the last uses of the 'push-interval-10' and 'push-interval-20' strategies.
They are being removed because they are dangerous in that its easy to accidentally not run
tasks when they should.

Instead, task authors should decide whether they want their tasks to run on
"backstop" pushes (run everything) or "expanded" pushes (run more than usual,
but still not as much as a backstop). Note that using "expanded" means the task
will *also* run on backstop pushes. It'll just additionally run on "expanded"
pushes.

In practice 'backstop' pushes will be every 20th push and 'expanded' pushes
will be every 10th push. Though this may vary due to the time component in
backstops.

Differential Revision: https://phabricator.services.mozilla.com/D89503
2020-09-10 14:47:02 +00:00
Andrew Halberstadt
6eb4d62f2b Bug 1656465 - [taskgraph.optimize] Refactor "optimized-backstop" pushes into "expanded" pushes, r=marco
This is a nomenclature change + refactoring. Now there is only a single
"backstop" push. Which is currently set to every 20th push on autoland (or
every push on non-autoland branches).

Now there is also a concept of an "expanded" push. These are pushes that run
more stuff than usual, but not as much as a backstop normally would. These are
currently set to run at half the interval of a backstop.

Concretely, here are the strategy changes:

* Renamed 'backstop' -> 'skip-unless-backstop'
* Introduced the 'skip-unless-expanded' strategy which has 'skip-unless-backstop' baked in
* Merged 'optimized-backstop' into the 'test' strategy (with expanded comments)
* Baked both 'skip-unless-expanded' and 'skip-unless-backstop' into the 'test' strategy

Differential Revision: https://phabricator.services.mozilla.com/D89501
2020-09-11 15:42:33 +00:00
Andrew Halberstadt
291bd1a769 Bug 1656465 - [taskgraph.optimize] Implement a 'Not' composite strategy, r=marco
It turns out that 'Not' is needed to negate "backstops". E.g, we normally
we want to use a pattern like so:

    All("skip-unless-backstop", "test")

Since 'skip-unless-backstop' returns False on backstop pushes, it disables
the test strategy there.

However, suppose we wanted to run a special optimization, *only* on backstop
pushes. I.e, the opposite of the above example. Then we need to use:

    All(Not("skip-unless-backstop"), "test-backstop")

Depends on D89500

Differential Revision: https://phabricator.services.mozilla.com/D89734
2020-09-11 09:07:21 +00:00
Andrew Halberstadt
bfa2e75552 Bug 1656465 - [taskgraph.optimize] Allow 'split_bugbug_arg' to work with arbitrary number of substrategies, r=marco
This still assumes that the bugbug-based strategy is last however.

Differential Revision: https://phabricator.services.mozilla.com/D89500
2020-09-10 14:47:14 +00:00
Andrew Halberstadt
83c2cb4b51 Bug 1650406 - [taskgraph] Never run 'upload-symbols' tasks with |mach try auto|, r=marco
Differential Revision: https://phabricator.services.mozilla.com/D88874
2020-09-02 20:20:26 +00:00
Andrew Halberstadt
88579a969b Bug 1650406 - [ci] Ensure 'test-verify' tasks use the 'test' strategy with |mach try auto|, r=marco
Differential Revision: https://phabricator.services.mozilla.com/D88873
2020-09-02 20:19:33 +00:00
Andrew Halberstadt
ea13a3ab98 Bug 1660506 - Simplify the backstop optimizations, r=marco
This patch cleans up some of the backstop strategy names. Specifically:

1. Rename 'full-backstop' -> 'backstop'. The old 'backstop' algorithm was
unused anyway, so there is no conflict. It is also just defined directly in
the decorator rather than using 'Alias'.

So now rather than 'full-backstop' and 'optimized-backstop', it's just
'backstop' and 'optimized-backstop'.


2. Remove 'backstop-X-hours-Y-minutes' strategies, and replace them with
the corresponding 'push-interval-X' strategy.

This means we lose the time component in the 'optimized-backstop'. But it isn't
a problem, because we shouldn't be using a time component there at all anyway
(we should just use it with the 'backstop').

Differential Revision: https://phabricator.services.mozilla.com/D88149
2020-08-26 21:40:05 +00:00
Andrew Halberstadt
5f39e949bf Bug 1659187 - [taskgraph] Implement a mechanism to only run tasks when a specified dependency is present, r=bhearsum
Certain tasks are meant to perform follow-up work to another task. For example,
a 'signing' task signs an artifact from a dependency task. An 'upload-symbols'
tasks uploads an artifact from a dependency task.

In general, we only want to run these types of tasks when the dependency task
is running. But in practice, these tasks often cause the dependency to get
pulled in.

We've tried to fix this in the past by making the 'run-on-projects' and
'optimization' keys match their primary dependency. But it's very easy to
mess this up, and some optimizations (like bugbug) take the content of the
task definition into account. So even if both tasks use the same optimization,
they could have different results.

This revision adds a new 'if-dependencies' key that denotes a task that should
only run if one of the dependencies specified in this list is also run. It
will allow us to stop playing whack-a-mole when trying to make sure tasks
aren't being pulled in solely due to these types of dependencies.

This feature is implemented independently of the 'optimization', so tasks that
specify this can still be optimized even if their primary dependency does run.

Differential Revision: https://phabricator.services.mozilla.com/D80508
2020-08-27 20:45:33 +00:00
Andrew Halberstadt
ed922e0dc1 Bug 1659187 - [taskgraph] Move optimization reason logging to the _log_optimizations function, r=taskgraph-reviewers,aki
This is needed as future revisions will refactor the optimization process to be
two pass. So we can't be sure if a task is optimized or not until the very end.

Depends on D87771

Differential Revision: https://phabricator.services.mozilla.com/D87772
2020-08-20 16:39:19 +00:00
Razvan Maries
2a46b35060 Backed out changeset 9251996ce8c9 (bug 1657939) for Gecko Decision Task failures. CLOSED TREE 2020-08-11 00:32:44 +03:00
Justin Wood
9f41cda459 Bug 1657939 - Output an artifact that identifies replaced taskID's. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D86379
2020-08-10 19:20:28 +00:00
Marco Castelluccio
af446e64ac Bug 1656465 - Run fuzzing builds on backstop pushes. r=ahal DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D86357
2020-08-07 15:08:53 +00:00
Andrew Halberstadt
ea845db9e5 Bug 1657649 - [ci] Remove the SETA shadow-scheduler, r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D86250
2020-08-06 20:27:26 +00:00
Andrew Halberstadt
0fec282dd5 Bug 1657622 - [taskgraph] Revert to 'bugbug-reduced-fallback' optimization strategy on autoland, r=marco
Differential Revision: https://phabricator.services.mozilla.com/D86219
2020-08-06 19:52:05 +00:00
Marco Castelluccio
c4260e02f6 Bug 1657097 - Stop running all builds on autoland, only run builds selected by bugbug and builds that are dependencies of test tasks. r=ahal,jmaher
Differential Revision: https://phabricator.services.mozilla.com/D85976
2020-08-06 14:25:17 +00:00
Marco Castelluccio
79562cff29 Bug 1648723 - Run full backstops every 20 pushes, and backstops optimized by bugbug every 10 pushes. r=ahal,jmaher
Differential Revision: https://phabricator.services.mozilla.com/D81874
2020-08-05 11:25:20 +00:00
Andrew Halberstadt
fe90b95e98 Bug 1643689 - [taskgraph] enable manifest-scheduling on autoland, r=marco
Sets autoland to use the 'bugbug' test manifest loader. This is being enabled
as part of a temporary trial to see the impact it has on sheriffing.

Differential Revision: https://phabricator.services.mozilla.com/D85011
2020-07-29 17:05:48 +00:00
Bogdan Tara
20b0b6082e Backed out changeset 9be5f086895c (bug 1643689) for busting gecko decision task and causig bug 1655807 CLOSED TREE 2020-07-28 19:46:47 +03:00
Andrew Halberstadt
81eb3647a9 Bug 1643689 - [taskgraph] enable manifest-scheduling on autoland, r=marco
Sets autoland to use the 'bugbug' test manifest loader. This is being enabled
as part of a temporary trial to see the impact it has on sheriffing.

Differential Revision: https://phabricator.services.mozilla.com/D85011
2020-07-28 14:40:40 +00:00
Andrew Halberstadt
4a8bbd96ce Bug 1636271 - [taskgraph] Set autoland optimizations via per-project parameter, r=tomprince
This creates a new set of optimization strategies
(taskgraph.optimize:project.autoland) to use with autoland. Among other things,
it also means there's no need for the 'test-try' optimization as the autoland
strategies are no longer the default behaviour.

Differential Revision: https://phabricator.services.mozilla.com/D79705
2020-07-28 13:22:48 +00:00
Narcis Beleuzu
f6c2e1b1c1 Backed out 3 changesets (bug 1636271) for breaking the Gecko Decision Task. CLOSED TREE
Backed out changeset 4b0f13fcf941 (bug 1636271)
Backed out changeset 4250f49877ba (bug 1636271)
Backed out changeset d3f93bd6b1f9 (bug 1636271)
2020-07-22 23:40:32 +03:00
Andrew Halberstadt
bee55a2da6 Bug 1636271 - [taskgraph] Set autoland optimizations via per-project parameter, r=tomprince
This creates a new set of optimization strategies
(taskgraph.optimize:project.autoland) to use with autoland. Among other things,
it also means there's no need for the 'test-try' optimization as the autoland
strategies are no longer the default behaviour.

Differential Revision: https://phabricator.services.mozilla.com/D79705
2020-07-22 17:09:02 +00:00
Tom Prince
56ec62ced7 Bug 1638990: [taskgraph] Store task ids as text, rather than bytes; r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D84085
2020-07-20 19:27:44 +00:00
Andrew Halberstadt
dc8f0e8b6d No bug: [taskgraph] Simplify bugbug strategies; r=ahal
This change the strategy aliases that have bugbug, so that they handle the extra
arguments that are needed by bugbug.

Differential Revision: https://phabricator.services.mozilla.com/D83438
2020-07-20 15:10:41 +00:00
Mihai Alexandru Michis
2265b2321e Backed out changeset 5e3a55fa20f8 for causing Gecko Decision Task bustages on try. a=backout
DONTBUILD
2020-07-19 21:49:30 +03:00
Andrew Halberstadt
c2ca6c7348 No bug: [taskgraph] Simplify bugbug strategies; r=ahal
This change the strategy aliases that have bugbug, so that they handle the extra
arguments that are needed by bugbug.

Differential Revision: https://phabricator.services.mozilla.com/D83438
2020-07-18 04:51:06 +00:00
Marco Castelluccio
f9243fe69e Bug 1653030 - Use Python's not operator
Differential Revision: https://phabricator.services.mozilla.com/D83849
2020-07-16 20:38:14 +00:00
Marco Castelluccio
7cb5916624 Bug 1653030 - Make 'All' optimization strategy return early as soon as one of its substrategies returns False. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D83715
2020-07-16 20:24:39 +00:00
Andrew Halberstadt
cb51cf3977 Bug 1650067 - [taskgraph] Fix some Python 3 compatibility issues in the 'optimize' directory, r=tomprince
Differential Revision: https://phabricator.services.mozilla.com/D81577
2020-07-08 18:19:24 +00:00
Marco Castelluccio
ce09eaf939 Bug 1648414 - Define some additional bugbug-based strategies and remove poorly performing ones. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D81050
2020-07-03 16:30:37 +00:00
Ben Hearsum
55cd1ac886 Bug 1641058: tasks that only exist because of another that is later optimized away should not be scheduled r=tomprince
Differential Revision: https://phabricator.services.mozilla.com/D81745
2020-07-02 21:28:57 +00:00
Narcis Beleuzu
52c2b9ae86 Backed out changeset 6a42da21836e (bug 1641058) for breaking action tasks like retriggers . CLOSED TREE 2020-07-02 21:45:53 +03:00
Ben Hearsum
5ee69884d2 Bug 1641058: tasks that only exist because of another that is later optimized away should not be scheduled r=tomprince
Differential Revision: https://phabricator.services.mozilla.com/D81745
2020-07-02 17:00:03 +00:00
Marco Castelluccio
c7d36a1692 Bug 1637810 - Define a new strategy that optimizes builds away if they are not selected by bugbug. r=ahal DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D75621
2020-06-03 09:53:17 +00:00
Tom Prince
d648744c0d 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