Граф коммитов

3788 Коммитов

Автор SHA1 Сообщение Дата
Cosmin Sabou b1aaa8d3d5 Backed out changeset b8ba96c90d81 (bug 1662603) for busting gecko decision task. CLOSED TREE 2020-10-14 07:28:16 +03:00
Jeff Gilbert 46c2dc965d Bug 1662603 - Enable m-gli on Windows. r=ahal
Disable webgl-ipc variant on .*-ccov/.* platforms.

Differential Revision: https://phabricator.services.mozilla.com/D92816
2020-10-13 20:24:47 +00:00
Gregory Mierzwinski 1810afabc7 Bug 1669534 - Run chrome/chromium pageload tests in browsertime. r=perftest-reviewers,Bebe
This patch fixes various issues that prevented us from running chromium/chrom in raptor-browsertime.
(1) Chromium fetch task now also fetches the latest chromedriver.
(2) FFMPEG failures when recording on chrome/chromium.
(3) Various changes where chromium wasn't considered as a variant of chrome.

Differential Revision: https://phabricator.services.mozilla.com/D92646
2020-10-13 20:36:52 +00:00
Jamie Nicol 0662f91400 Bug 1595794 - Run geckoview-junit tests on emulator with webrender enabled. r=geckoview-reviewers,jmaher,agi
Differential Revision: https://phabricator.services.mozilla.com/D52682
2020-10-12 10:34:29 +00:00
Mike Hommey 93b282a460 Bug 1651538 - Relabel docker images with the prefix "docker-image" instead of "build-docker-image". r=tomprince
Differential Revision: https://phabricator.services.mozilla.com/D82807
2020-10-09 00:07:56 +00:00
Rob Lemley fec1f2b476 Bug 1665414 - Make docker image_paths extendable by projects. r=taskgraph-reviewers,aki
Replace the memoized dictionary that image_path uses as storage with a Mapping
object. It's equipped with a register function to allow Thunderbird to add it's own
docker image jobs and context path.

Depends on D92702

Differential Revision: https://phabricator.services.mozilla.com/D92703
2020-10-08 18:27:45 +00:00
Rob Lemley 419c456c10 Bug 1665414 - Use image_path to locate context path in docker_image transform. r=taskgraph-reviewers,aki
This change is to facilitate defining docker-images in comm/taskcluster/docker. At the
moment this is not possible due to how 'context_path' is set.

taskgraph.docker.util is already imported by the transform code, so it can make use of
the existing image_path function. image_path return an absolute_path, while some of the
consumers of context_path expect a path that's relative to topsrcdir.

Differential Revision: https://phabricator.services.mozilla.com/D92702
2020-10-08 18:28:08 +00:00
Gregory Mierzwinski d7dddd5e59 Bug 1669783 - Add chromedriver for chrome 86. r=perftest-reviewers,Bebe
Differential Revision: https://phabricator.services.mozilla.com/D92801
2020-10-08 13:53:34 +00:00
Jeff Gilbert e7dc5b9af5 Bug 1669383 - Force default mochitest-webgl runs to use webgl.out-of-process:false. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D92530
2020-10-07 17:33:13 +00:00
Marco Castelluccio 1a973762af 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
Marco Castelluccio daf1b7c976 Bug 1639164 - Translate groups returned by bugbug in the config_groups dict too. r=ahal
Otherwise there is a mismatch between the group names in "groups" and "config_groups".

Differential Revision: https://phabricator.services.mozilla.com/D91842
2020-10-05 13:05:21 +00:00
Andrew Halberstadt f5e9969793 Bug 1667482 - [taskgraph] Don't fail if last backstop decision task is still running, r=marco
Differential Revision: https://phabricator.services.mozilla.com/D92096
2020-10-01 16:18:36 +00:00
Bogdan Tara 61f9e5d400 Backed out changeset 725f6e6d8aaf (bug 1667482) by aki's request CLOSED TREE 2020-10-01 17:16:58 +03:00
Aki Sasaki a9f5c60084 Bug 1667482 - retry taskcluster requests. r=taskgraph-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D91486
2020-09-30 21:47:37 +00:00
Aki Sasaki a62172dca9 Bug 1666321 - run l10n-bump as part of central-to-beta merge day. r=releng-reviewers,bhearsum DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D91885
2020-09-30 15:29:21 +00:00
Andrew Halberstadt 9673d50ff2 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
Andrew Halberstadt 4104a550e9 Bug 1643689 - [taskgraph] Replace 'CHUNK_SUITES_BLACKLIST' with the 'test_manifest_loader' key, r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D91588
2020-09-29 16:03:49 +00:00
Andrew Halberstadt 36c2e31e49 Bug 1643689 - [taskgraph] Allow tasks to override the configured 'test_manifest_loader', r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D91587
2020-09-29 17:36:01 +00:00
Dorel Luca 3c9ff4ea07 Backed out 3 changesets (bug 1643689) for Gecko Decision Task failure. CLOSED TREE
Backed out changeset 2912d91dd291 (bug 1643689)
Backed out changeset 50195a6883bf (bug 1643689)
Backed out changeset 6c2a31b47d0b (bug 1643689)
2020-09-29 19:00:55 +03:00
Andrew Halberstadt cd566c51aa Bug 1643689 - [taskgraph] Replace 'CHUNK_SUITES_BLACKLIST' with the 'test_manifest_loader' key, r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D91588
2020-09-29 14:09:17 +00:00
Andrew Halberstadt 038ce941f6 Bug 1643689 - [taskgraph] Allow tasks to override the configured 'test_manifest_loader', r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D91587
2020-09-28 17:10:48 +00:00
Marco Castelluccio 7b04b731a9 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
Marco Castelluccio 051ad28ea8 Bug 1639164 - Add an option to the BugbugPushSchedules optimization strategy to select configurations on which to run manifests based on bugbug decisions. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D91605
2020-09-28 20:12:43 +00:00
James Graham 61e09da070 Bug 1666759 - Add a target_tasks filter that enables scheduling uncommon tasks, r=jmaher
In particular this allows scheduling backlog tasks on try with --disable-target-task-filter

Differential Revision: https://phabricator.services.mozilla.com/D91135
2020-09-25 19:48:47 +00:00
Andrew Halberstadt 0c36e740a0 Bug 1666809 - [taskgraph] Consider pushes a backstop if the last backstop had a broken decision task, r=taskgraph-reviewers,aki
Depends on D91330

Differential Revision: https://phabricator.services.mozilla.com/D91331
2020-09-24 19:54:21 +00:00
Andrew Halberstadt 6ea38b96d9 Bug 1666809 - [taskgraph] Refactor test_util_backstop.py to make use of parametrization, r=taskgraph-reviewers,aki
Differential Revision: https://phabricator.services.mozilla.com/D91330
2020-09-24 19:47:45 +00:00
Andrew Halberstadt c288f18538 Bug 1666809 - Insert decision task indexes directly via taskluster API rather than index-task, r=taskgraph-reviewers,aki
We started using the "backstop" index added by bug 1660506 to determine whether
a push should be a backstop based on a time interval. The problem is that this
index gets added by an index-task that runs after the decision task has
completed.  Therefore, if two pushes land at roughly the same time (i.e, the
second decision task starts before the first completes), then they can both
determine themselves as backstops.

This patch gets around the problem by inserting the "backstop" index as early
as possible (immediately after resolving parameters), so the chances of this
happening become very low. It's still theoretically possible that it could
happen again, but we don't need this to be 100% perfect. As long as it is rare,
it's good enough.

Depends on D91191

Differential Revision: https://phabricator.services.mozilla.com/D91192
2020-09-24 19:19:36 +00:00
Andrew Halberstadt da707c8ee1 Bug 1666809 - Allow HTTP methods other than GET and POST in taskgraph/util/taskcluster.py, r=taskgraph-reviewers,aki
Some taskcluster APIs use the PUT method.

Differential Revision: https://phabricator.services.mozilla.com/D91191
2020-09-23 21:01:14 +00:00
Narcis Beleuzu 5ad121ac69 Bug 1667045 - Fix lint failure. a=fix CLOSED TREE 2020-09-25 20:32:05 +03:00
Joel Maher e6c05ddc75 Bug 1667045 - Remove win7/win32 devedition tests. r=bc
Remove win7/win32 devedition tests. r=bc

Differential Revision: https://phabricator.services.mozilla.com/D91442
2020-09-25 16:57:06 +00:00
Andrew Halberstadt 4f9bc7b6dc 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
Aki Sasaki fa5df1bbcf Bug 1666861 - allow for local partner taskgraph debugging. r=releng-reviewers,mtabara DONTBUILD
Depends on D91216

Differential Revision: https://phabricator.services.mozilla.com/D91217
2020-09-24 06:41:39 +00:00
Andrew Halberstadt bd84e6e3aa 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 222db7d319 Bug 1665312 - Ensure a test task is never completely removed from full_task_graph due to test_manifest_loader, r=taskgraph-reviewers,aki
This causes them to get filtered out at the target tasks phase instead. We need
to do this since backfilling depends on the task existing in the full task
graph.

Differential Revision: https://phabricator.services.mozilla.com/D90579
2020-09-23 18:13:12 +00:00
Aki Sasaki 3c61c88571 Bug 1666861 - fix off-cycle partner repacks post-attribution. r=releng-reviewers,mtabara DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D91216
2020-09-24 06:42:09 +00:00
Justin Wood 220c75d1e4 Bug 1634757 - Use v2 actions for balrog submittal. r=releng-reviewers,aki DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D73498
2020-09-16 02:36:04 +00:00
Mihai Alexandru Michis 828d57ff13 Bug 1666379 - Fix stray brace a=lint-fix 2020-09-22 07:06:32 +03:00
Tom Ritter 66ba1e9103 Bug 1666379 - Allow job notifications to be delivered for all outcome types r=aki DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D90943
2020-09-22 03:43:22 +00:00
Kimberly Sereduck 7088c5452d Bug 1662153: Add chromedriver for Chrome 85 r=perftest-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D88875
2020-09-17 17:28:32 +00:00
Andrew Halberstadt bc44cf8b2d 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 fa05fd89fa Backed out changeset 0b196026ed59 (bug 1643689) for causing issues with manifest scheduling.
CLOSED TREE
2020-09-17 11:26:12 +03:00
Rob Lemley 142c37fe5d Bug 1661493 - Support extending OptimizationSchema in taskgraph projects. r=taskgraph-reviewers,ahal
In order for Thunderbird to effectively cut down on excess builds, there needs
to be a way to define taskgraph optimization strategies beyond what is made
available in the mozilla repository.
taskgraph.optimize.register_strategy gets half of the job done. The other piece
is task schema validation which checks optimizations against OptimizationSchema.

OptimizationSchema gets moved to taskgraph.optimize.schema so that it is not set
too early by taskgraph.util.schema. Projects then call set_optimization_schema()
to replace the default schema object. set_optimization_schema() needs to be called
in the project's taskgraph:register function before any transform code is loaded.

Differential Revision: https://phabricator.services.mozilla.com/D88429
2020-09-15 23:08:52 +00:00
Andrew Halberstadt e8970ddcb9 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 ca0aefcd5b 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 24cddd5507 Bug 1634207 - Add some try-only windows7-32-qr test tasks, r=jmaher
These tasks can only be selected on try by passing `--full` to |mach try fuzzy|
or |mach try chooser|. E.g:

    $ ./mach try fuzzy --full -q "'windows7-32-qr"

Differential Revision: https://phabricator.services.mozilla.com/D89923
2020-09-14 15:37:22 +00:00
Andrew Halberstadt 0845c6922f Bug 1656465 - Drop the 'remove_on_projects' feature from the Backstop optimization, r=marco
In the past, the 'backstop' optimization was applied to tasks by default across
all projects, even though it only really made sense on autoland. To choose what
would happen on non-autoland branches, we invented this 'remove_on_projects'
concept.

These days, we only apply the backstop optimization in the first place for
autoland. So 'remove_on_projects' is no longer necessary.

Depends on D88149

Differential Revision: https://phabricator.services.mozilla.com/D88150
2020-09-10 14:42:10 +00:00
Andrew Halberstadt 455f1d3e89 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 3abd53ae2c 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 fba47918cb 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 3cffeac488 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 05dae59107 Bug 1656465 - [taskgraph] Consider all pushes to release branches as 'backstops', r=marco
The intent of a "backstop" push, is to run everything so we can be absolutely sure that
the push in question does not cause any regressions.

Previously, backstops were thought to be only something that ran on autoland.
This was because the other branches *already* ran everything so the concept of
a "backstop" didn't make much sense.

But going by the above definition, it would make more sense to say that *every*
non autoland (or try) push is a backstop. Since the intent there is to run
everything to avoid regressions.

This change will allow us to simplify our optimization algorithms.

Differential Revision: https://phabricator.services.mozilla.com/D89499
2020-09-10 14:40:44 +00:00
Dorel Luca 79e0eba4b3 Backed out changeset 4123a3bc6173 (bug 1664300) as requested by dev 2020-09-11 21:32:06 +03:00
Joel Maher 70b89b5091 Bug 1664300 - double the frequency of windows perf tests temporarily. r=ahal
temporarily double the frequency of windows perf tests

Differential Revision: https://phabricator.services.mozilla.com/D89832
2020-09-11 12:24:14 +00:00
Geoff Brown d82ebdb5f3 Bug 1663029 - Run most android-em plain opt tests as tier 1; r=bc
Corresponding debug and shippable tests already run as tier 1, but the plain
opt tests (which run on autoland and try) currently run as tier 2, apparently by
accident.

Differential Revision: https://phabricator.services.mozilla.com/D89255
2020-09-08 10:10:00 +00:00
Gregory Mierzwinski 18a8a6a848 Bug 1662777 - Fix cron tasks for power tests. r=perftest-reviewers,Bebe
Differential Revision: https://phabricator.services.mozilla.com/D89157
2020-09-08 13:14:25 +00:00
Sylvestre Ledru da34b6a58e Bug 1661514 - Reformat some python files with black 20.8b1 r=rstewart
# ignore-this-changeset

Depends on D88711

Differential Revision: https://phabricator.services.mozilla.com/D88712
2020-09-07 14:05:10 +00:00
Mihai Tabara e47580fde2 Bug 1661673 - remove esr68 references.r=releng-reviewers,aki DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D88618
2020-08-31 07:59:28 +00:00
Mihai Tabara dcad44f932 Bug 1661673 - make esr78 not next-esr.r=releng-reviewers,aki DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D88591
2020-09-04 20:35:04 +00:00
Andrew Halberstadt 8f45b2b0d4 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 b995cc5a0c 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
Ricky Stewart 4c6985333a Bug 1659539 - [python-test] Remove '--python' and stop using pipenv to manage virtualenvs r=ahal
Pipenv is heavy weight and overkill for the purposes it is being used. We'd like to remove it from the tree and |mach python-test| was one of the last remanining use cases.

Remove the `--python` command-line argument as a result. Users who wish to run unit tests with Python 2 can do `MACH_PY2=1 ./mach python-test ...` or `python2 ./mach python-test ...`.

Also update a few unit tests that would break otherwise in the presence of this change.

There were a couple lines in the `setup.py` for `mozlog` that were problematic for tests and was resulting in errors due to the `mozlog` plugin being loaded by `pytest` more than once. We just delete those lines and bump up the major version number of the package to fix it.

Differential Revision: https://phabricator.services.mozilla.com/D88296
2020-09-02 17:05:24 +00:00
Andrew Halberstadt 7020f6a20a Bug 1656465 - Move all 'push-interval-25' optimizations to 'push-interval-20', r=jmaher
We want to try to align 'push-interval' tasks to the 'backstop'. This way
we have greater confidence in our backstop pushes, and it will allow us to
simplify a lot of our backstop logic.

Depends on D89055

Differential Revision: https://phabricator.services.mozilla.com/D89056
2020-09-02 14:05:11 +00:00
Jeff Gilbert 79587135ae Bug 1661328 - Enable Mac webgl-ipc tests on Central. r=jmaher,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D89038
2020-09-01 23:29:01 +00:00
Andrew Halberstadt e7e4e3ee6a Bug 1660506 - [taskgraph] Ensure backstop determination uses time since last backstop, r=marco
Backstop pushes have a time component so that we can guarantee they run at least every N
hours. Prior, they measured the time since the last push. This means that as long as a new
push comes in at least once every 4 hours, the backstop would keep being pushed out.

This means we could theoretically go 80 hours without a backstop push, which makes finding
merge candidates tricky.

This change ensures we measure the 4 hours as time since last backstop, as opposed to time
since last push.

Differential Revision: https://phabricator.services.mozilla.com/D88913
2020-09-01 18:42:57 +00:00
Andrew Halberstadt 44293fe4fe Bug 1660506 - [taskgraph] Add an index task for the decision task, r=aki
Sometimes we want to conditionally add index routes to the decision task
based on a parameter. E.g, a route that tracks all the backstop pushes.

This adds a new index task specifically for the decision task, which allows
to defined new index routes within the decision task itself.

Differential Revision: https://phabricator.services.mozilla.com/D88911
2020-09-01 14:27:50 +00:00
Andrew Halberstadt da26141e1c Bug 1660506 - [taskgraph] Don't overwrite 'backstop' parameter if set from try_task_config.json, r=taskgraph-reviewers,aki
I found myself needing to test a push with 'backstop=True' on try. Though, I
couldn't set it because the call to 'is_backstop' happens after the
'try_task_config' parameters are added in. This adds a simple check to handle
that case.

Differential Revision: https://phabricator.services.mozilla.com/D88910
2020-09-01 14:27:07 +00:00
Andrew Halberstadt d82c6de5d5 Bug 1662427 - Backout 7c48fc6f04e3 for causing tasks with 'push-interval' optimizations to stop running on central,
Differential Revision: https://phabricator.services.mozilla.com/D89004
2020-09-01 16:38:15 +00:00
Cristina Coroiu 8eaafae8fd Backed out 2 changesets (bug 1661514) for lint failure on a CLOSED TREE
Backed out changeset 8e58c88f756b (bug 1661514)
Backed out changeset aef89f9a8031 (bug 1661514)
2020-09-01 19:34:12 +03:00
Sylvestre Ledru 5ee2fbd7cb Bug 1661514 - Reformat some python files with black 20.8b1 r=rstewart
# ignore-this-changeset

Depends on D88711

Differential Revision: https://phabricator.services.mozilla.com/D88712
2020-08-31 17:06:22 +00:00
alexandru.ionescu e28d9f71ea Bug 1662061 Remove mobile pageload tests for webextension r=sparky,Bebe,perftest-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D88783
2020-09-01 09:58:39 +00:00
Aki Sasaki 172cef5128 Bug 1661637 - upload image_builder:5.0.0 r=releng-reviewers,bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D88660
2020-08-28 19:34:14 +00:00
Andrew Halberstadt 3c28444d2d Bug 1660506 - Move backstop determination to the decision task and store it in a parameter, r=marco,taskgraph-reviewers,jmaher
We want to be able to retroactively tell whether a push was a backstop or not.
This patch stores whether or not a push was a "backstop" directly in the
parameters. The optimization strategy now simply returns 'not
params["backstop"]'.

For simplicity, I'm not counting the 'optimized-backstop' as a backstop. It's
unclear if we'll want to be able to detect these types of the pushes in the
future or not, but we can cross that bridge when we get there.

Differential Revision: https://phabricator.services.mozilla.com/D88151
2020-08-26 21:56:05 +00:00
Andrew Halberstadt 0def0cc961 Bug 1660506 - Drop the 'remove_on_projects' feature from the Backstop optimization, r=marco
In the past, the 'backstop' optimization was applied to tasks by default across
all projects, even though it only really made sense on autoland. To choose what
would happen on non-autoland branches, we invented this 'remove_on_projects'
concept.

These days, we only apply the backstop optimization in the first place for
autoland. So 'remove_on_projects' is no longer necessary.

Depends on D88149

Differential Revision: https://phabricator.services.mozilla.com/D88150
2020-08-26 19:11:22 +00:00
Andrew Halberstadt 81eecf7f8c 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
Mike Hommey 9071c354c3 Bug 1661659 - Reimplement optionally_keyed_by as a validator function rather than in terms of nested Any. r=taskgraph-reviewers,ahal
Using nested Any generates deeply nested non-trivial schemas because we
also end up nesting optionally_keyed_by's, and the addition of one field
in one optionally_keyed_by in bug 1657769 made the whole schema
compilation step an order of magnitude slower.

Even before bug 1657769, the schema compilation step was slow for tests,
and with this change, it's virtually instantaneous.

Differential Revision: https://phabricator.services.mozilla.com/D88543
2020-08-28 12:47:19 +00:00
Andrew Halberstadt 629b7f62ad Bug 1650406 - [ci] Use 'if-dependencies' with upload-symbols tasks r=bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D87777
2020-08-27 20:50:32 +00:00
Andrew Halberstadt eaeb3565d0 Bug 1659187 - [ci] Use 'if-dependencies' for build-signing and repackage tasks r=bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D87775
2020-08-27 20:45:00 +00:00
Andrew Halberstadt e07398454b 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 18cca882f7 Bug 1659187 - [taskgraph.test] Automatically set dependencies based on edges in test_optimize.py, r=taskgraph-reviewers,bhearsum
Edges are defined as a (left, right, name) tuple, which means task left depends on task right using an edge called name. Previously the optimization code never took dependencies into account, so the mock graph generator never bothered to create them. But in the child revision, we start using these values, so the generation should set it up appropriately.

I had to make it conditional due to the way the assertions in the test_get_subgraph test are set up. I figured it was easier to do that than to re-write the assertions.

Depends on D88483

Differential Revision: https://phabricator.services.mozilla.com/D88484
2020-08-28 12:28:04 +00:00
Andrew Halberstadt 59d997abe4 Bug 1659187 - [taskgraph.test] Convert test_optimize.py to the pytest format and use parametrization, r=taskgraph-reviewers,aki
This removes boiler plate around adding new test cases.

Depends on D88482

Differential Revision: https://phabricator.services.mozilla.com/D88483
2020-08-27 21:36:14 +00:00
Andrew Halberstadt b84d7787f5 Bug 1659187 - [taskgraph.test] Ensure logs are displayed when a test fails, r=taskgraph-reviewers,aki
Differential Revision: https://phabricator.services.mozilla.com/D88482
2020-08-27 21:32:32 +00:00
Nick Thomas 718f929f20 Bug 1630809 - generate beetmover tasks for partner attribution r=aki
This is a fork of the release-partner-repack-beetmover kind and transform. It's modified to cope with having one upstream task with many partner builds, rather than a many beetmover tasks dealing with a single config-platform-locale combination.

Differential Revision: https://phabricator.services.mozilla.com/D87730
2020-08-27 22:19:34 +00:00
Nick Thomas e9938dc1de Bug 1630809 - generate partner attribution task r=aki
A single task is created to do all partner attributions. The partner_attribution transform processes the configuration into an environment variable for the tools/attribution/attribute.py script to use. This is quite verbose so a large number of configurations may cause problems.

Applies the same priority modification to attribution tasks as to partner repacks, to not impede the main part of the graph.

Differential Revision: https://phabricator.services.mozilla.com/D87729
2020-08-27 22:19:36 +00:00
Nick Thomas c51ceb7354 Bug 1630809 - read attribution configuration from github r=aki
The partner attribution config is stored in the same repository as the repo manifest for partner repacks, but all in attribution_config.yml instead of default.xml. This extends the existing support for using the Github API to read files to retrieve and process the attribution config.

Differential Revision: https://phabricator.services.mozilla.com/D87728
2020-08-27 22:19:39 +00:00
Nick Thomas 5d6881468d Bug 1630809 - add initial support for partner attribution in release promotion r=aki
Renames the release_enable_partners parameter to release_enable_partner_repack, and adds release_enable_partner_attribution for attribution. This it to provide support for disabling them independently in main releases, and in respins.
Adds docs for attribution, update docs for repacks.
Hardwire values for the enable params for the respin flavors, other wise read from the input (defaulting to on in promotion, off otherwise).
Fixes up the rebuild-kinds for partner repacks so that they reflect the current set, although the top level may be all that is needed.

Differential Revision: https://phabricator.services.mozilla.com/D87727
2020-08-27 22:19:41 +00:00
Nick Thomas 30281b78b1 Bug 1630809 - check_if_partners_enabled() is only needed on the top kind for each partner branch r=aki
If the partner repack task are already removed then there can be no downstreams to disable.

Differential Revision: https://phabricator.services.mozilla.com/D87726
2020-08-27 22:19:43 +00:00
Nick Thomas 0c309d25d1 Bug 1630809 - when downloading artifacts using fetch-content, optionally verify hash using chain-of-trust.json r=aki
This improves the integrity of downloads of upstream artifacts when using fetch-content. If `verify-hash: True` is set on the fetch config, then the chain-of-trust.json of the upstream is used to retieve the expected sha256 of the artifact, and this is checked.

Differential Revision: https://phabricator.services.mozilla.com/D87725
2020-08-27 22:19:46 +00:00
Nick Thomas 68740debe6 Bug 1630809 - only generate release-partner-repack tasks for enabled platforms r=aki
Prior to this patch the task graph would always include a release-partner-repack-<platform> task for all 6 platforms, regardless of what was specified in release_partner_config. This was particularly obvious in the off-cycle respin scenario when a single partner is repacked. By moving and reusing get_repack_ids_by_platform() it's easy to skip unneeded platforms.

Differential Revision: https://phabricator.services.mozilla.com/D87724
2020-08-27 22:19:48 +00:00
Nick Thomas aaa9dbde9d Bug 1630809 - python3 compatibility for off-cycle partner respins, typo fixes r=aki
Differential Revision: https://phabricator.services.mozilla.com/D87723
2020-08-27 22:19:30 +00:00
Butkovits Atila b8629b8d1e Backed out 9 changesets (bug 1630809, bug 1653476) for Gecko Decision failures. CLOSED TREE
Backed out changeset 02a27bfc76dd (bug 1653476)
Backed out changeset afb5df61943a (bug 1630809)
Backed out changeset 04628c1f98e9 (bug 1630809)
Backed out changeset 4b4d50e0b1bf (bug 1630809)
Backed out changeset 2fa2deb5c993 (bug 1630809)
Backed out changeset d6652114cac3 (bug 1630809)
Backed out changeset ad5e4caa3291 (bug 1630809)
Backed out changeset d3d841cd14f3 (bug 1630809)
Backed out changeset b3746502e227 (bug 1630809)
2020-08-28 01:15:03 +03:00
Nick Thomas df0eba30f9 Bug 1630809 - generate beetmover tasks for partner attribution r=aki
This is a fork of the release-partner-repack-beetmover kind and transform. It's modified to cope with having one upstream task with many partner builds, rather than a many beetmover tasks dealing with a single config-platform-locale combination.

Differential Revision: https://phabricator.services.mozilla.com/D87730
2020-08-27 05:30:40 +00:00
Nick Thomas c5e9d12304 Bug 1630809 - generate partner attribution task r=aki
A single task is created to do all partner attributions. The partner_attribution transform processes the configuration into an environment variable for the tools/attribution/attribute.py script to use. This is quite verbose so a large number of configurations may cause problems.

Applies the same priority modification to attribution tasks as to partner repacks, to not impede the main part of the graph.

Differential Revision: https://phabricator.services.mozilla.com/D87729
2020-08-27 05:46:51 +00:00
Nick Thomas 6130e5258f Bug 1630809 - read attribution configuration from github r=aki
The partner attribution config is stored in the same repository as the repo manifest for partner repacks, but all in attribution_config.yml instead of default.xml. This extends the existing support for using the Github API to read files to retrieve and process the attribution config.

Differential Revision: https://phabricator.services.mozilla.com/D87728
2020-08-27 05:29:18 +00:00
Nick Thomas ba595e786b Bug 1630809 - add initial support for partner attribution in release promotion r=aki
Renames the release_enable_partners parameter to release_enable_partner_repack, and adds release_enable_partner_attribution for attribution. This it to provide support for disabling them independently in main releases, and in respins.
Adds docs for attribution, update docs for repacks.
Hardwire values for the enable params for the respin flavors, other wise read from the input (defaulting to on in promotion, off otherwise).
Fixes up the rebuild-kinds for partner repacks so that they reflect the current set, although the top level may be all that is needed.

Differential Revision: https://phabricator.services.mozilla.com/D87727
2020-08-27 05:28:53 +00:00
Nick Thomas f0a5c5a65b Bug 1630809 - check_if_partners_enabled() is only needed on the top kind for each partner branch r=aki
If the partner repack task are already removed then there can be no downstreams to disable.

Differential Revision: https://phabricator.services.mozilla.com/D87726
2020-08-27 05:28:09 +00:00
Nick Thomas a2c4b8f1ea Bug 1630809 - when downloading artifacts using fetch-content, optionally verify hash using chain-of-trust.json r=aki
This improves the integrity of downloads of upstream artifacts when using fetch-content. If `verify-hash: True` is set on the fetch config, then the chain-of-trust.json of the upstream is used to retieve the expected sha256 of the artifact, and this is checked.

Differential Revision: https://phabricator.services.mozilla.com/D87725
2020-08-27 05:28:00 +00:00
Nick Thomas e1d61c2ad2 Bug 1630809 - only generate release-partner-repack tasks for enabled platforms r=aki
Prior to this patch the task graph would always include a release-partner-repack-<platform> task for all 6 platforms, regardless of what was specified in release_partner_config. This was particularly obvious in the off-cycle respin scenario when a single partner is repacked. By moving and reusing get_repack_ids_by_platform() it's easy to skip unneeded platforms.

Differential Revision: https://phabricator.services.mozilla.com/D87724
2020-08-27 05:27:44 +00:00
Nick Thomas 9f6c1df957 Bug 1630809 - python3 compatibility for off-cycle partner respins, typo fixes r=aki
Differential Revision: https://phabricator.services.mozilla.com/D87723
2020-08-27 05:27:40 +00:00
Florin Strugariu e7a92c2122 Bug 1625965 - Raptor Youtube-Playback Fenix tests are silently failing on VP9 r=perftest-reviewers,sparky
Depends on D67437

Differential Revision: https://phabricator.services.mozilla.com/D69510
2020-08-27 13:12:32 +00:00
Aki Sasaki ad0733dd86 Bug 1644574 - run codeql on firefox ship phase r=releng-reviewers,jlorenzo DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D88235
2020-08-27 00:23:25 +00:00