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

42 Коммитов

Автор SHA1 Сообщение Дата
Bastien Abadie a56878376d Bug 1527895 - Add soft-dependencies to taskgraph, r=ahal,marco,tomprince,dustin
Differential Revision: https://phabricator.services.mozilla.com/D19791

--HG--
extra : moz-landing-system : lando
2019-03-04 17:07:34 +00:00
Dustin J. Mitchell 536dc55522 Bug 1492664 - add {artifact-reference: ..}; r=tomprince
This provides an easy way to encode an artifact URL in static data such as
taskcluster/ci/nightly-l10n/kind.yml, without knowing in advance the format of
the URL.

--HG--
extra : rebase_source : 5b5229d96aad2916b1b3c8e72045c1d461fc1c02
extra : source : 9c35dd209c6b407bc3a45ce7b4c27272ef1bb486
2018-09-25 20:26:55 +00:00
Sebastian Hengst 767c971623 Backed out 21 changesets (bug 1492664) for breaking cron task for nightlies. a=backout
Backed out changeset a7d50dbb2c8e (bug 1492664)
Backed out changeset 2d876c4ece8b (bug 1492664)
Backed out changeset c82285d253de (bug 1492664)
Backed out changeset bf6d089640eb (bug 1492664)
Backed out changeset d9a7f2ce49c3 (bug 1492664)
Backed out changeset 06c466ab4323 (bug 1492664)
Backed out changeset c1ea4a10cc8d (bug 1492664)
Backed out changeset 4c63a04fdd47 (bug 1492664)
Backed out changeset 742b038bb1dd (bug 1492664)
Backed out changeset 911b4b0fb683 (bug 1492664)
Backed out changeset 870c8cec99e5 (bug 1492664)
Backed out changeset 77699b51336b (bug 1492664)
Backed out changeset 29f33f22fd8b (bug 1492664)
Backed out changeset e7f305408708 (bug 1492664)
Backed out changeset 335a92b1f424 (bug 1492664)
Backed out changeset c566f1c8dcdf (bug 1492664)
Backed out changeset c77ae59aba41 (bug 1492664)
Backed out changeset 9c35dd209c6b (bug 1492664)
Backed out changeset a972d6b4434e (bug 1492664)
Backed out changeset 5ea6f03f845e (bug 1492664)
Backed out changeset 0699d3873e44 (bug 1492664)

--HG--
extra : histedit_source : 5cb1f7e50f25d4a875c1a58c86b7dce902e1a89c%2C20f1ab1a843b612cfcc67cf5c6ff745d65abf076
2018-12-20 12:43:22 +02:00
Dustin J. Mitchell e860ab8925 Bug 1492664 - add {artifact-reference: ..}; r=tomprince
This provides an easy way to encode an artifact URL in static data such as
taskcluster/ci/nightly-l10n/kind.yml, without knowing in advance the format of
the URL.

--HG--
extra : rebase_source : 25c99d392e9b71c514f236379a816fae971e161a
2018-09-25 20:26:55 +00:00
Margareta Eliza Balazs 2e5e28f518 Backed out 16 changesets (bug 1492664) for breaking developer artifact builds, requested by standard8 a=backout
Backed out changeset 31e500489665 (bug 1492664)
Backed out changeset f4945658d45f (bug 1492664)
Backed out changeset 6d17291b8b92 (bug 1492664)
Backed out changeset 90f3faa36137 (bug 1492664)
Backed out changeset 0b229b00818a (bug 1492664)
Backed out changeset 5eb2c77d70a9 (bug 1492664)
Backed out changeset e1ebad5d89c5 (bug 1492664)
Backed out changeset 3017e5890739 (bug 1492664)
Backed out changeset c8b7e620eabf (bug 1492664)
Backed out changeset d3dfbd848236 (bug 1492664)
Backed out changeset 5c92bb5ac895 (bug 1492664)
Backed out changeset fb7cfca6ebc3 (bug 1492664)
Backed out changeset 0c4101230d4d (bug 1492664)
Backed out changeset b93a0fcc86f3 (bug 1492664)
Backed out changeset 6dc9522ee0bf (bug 1492664)
Backed out changeset 85d7f8b330eb (bug 1492664)
2018-12-19 11:45:29 +02:00
Dustin J. Mitchell a63677c332 Bug 1492664 - add {artifact-reference: ..} r=tomprince
This provides an easy way to encode an artifact URL in static data such as
taskcluster/ci/nightly-l10n/kind.yml.  This could be used in
mozharness_test.py, for example, as well -- but other code (such as to support
backfilling) expects `task-reference` there.  To avoid breaking such subtle
bits, those can continue using `task-reference` with URLs generated based on
TASKCLUSTER_ROOT_URL.

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

--HG--
extra : moz-landing-system : lando
2018-12-18 17:22:40 +00:00
Nick Thomas 0b738d5db5 Bug 1471767 - taskcluster documentation fixes, r=dustin
Assorted fixes from trawling the sphinx logs - malformed formatting, broken references, leftovers from renaming action-task to action-callback and removing
yaml-templates, docstring fixes to make sphinx happier, and typos.

MozReview-Commit-ID: 6jUOljdLoE2

--HG--
extra : rebase_source : f2a9dbcde5180f760a80f47691a70eba76e58bad
2018-06-27 21:48:10 +12:00
Sylvestre Ledru 3a35e750f3 Bug 1433417 - Fix a bunch of typo in the doc r=ahal
MozReview-Commit-ID: LRgL0CMJdDP

--HG--
extra : rebase_source : b99364bb96c1501a674a1726a3b5fdf0664a8e4f
2018-01-26 12:50:07 +01:00
Tom Prince 345a5d6fda Bug 1430006: Allow configuring scriptworkers per-graph config; r=aki
Differential Revision: https://phabricator.services.mozilla.com/D379

--HG--
extra : rebase_source : c52684c1a65017698d29979f35afed646ca5c90c
2018-01-09 10:44:04 -07:00
Armen Zambrano G. a97dfc7c07 Bug 1422133 - Generate runnable-jobs.json.gz file as part of the Gecko decision task run. r=dustin
The runnable jobs API on Treeherder is timing out quite frequently.
This is due that it downloads the full-task-graph.json artifact from the Gecko decision task.

This file has grown to be massive (over 30MB) and that takes too long to fetch. The API times out after 20 seconds.

The data we need from the artifact is minimal. We can generate a file with just the minimum amount of data needed.

This code change adds logic to generate a runnable-jobs.json.gz file after the full-task-graph.json artifact is generated.

MozReview-Commit-ID: 9u2H7HbUAcl

--HG--
extra : rebase_source : f450527e7dd565e29cfe2e04dc52761e77827cc0
2017-11-30 16:05:53 -05:00
Tom Prince 3852b33ae4 Bug 1415619: Add some sphinx documentation pointing at taskgraph configuration. r=dustin
MozReview-Commit-ID: 3EAu9bkln8h

--HG--
extra : rebase_source : 0acb6c32a3a1a4bec24513006a586e9a422e1728
2017-11-15 14:17:07 -07:00
Tom Prince dd4df1aec9 Bug 1415619: Add a separate trust-domain to cached tasks. r=dustin,gps
This allows firefox and thunderbird builds to avoid using each others bits.

MozReview-Commit-ID: KYQYDd2tkGj

--HG--
extra : rebase_source : 42f1d13ec609f066cb3bd3050ed894296b72d982
2017-11-09 17:15:29 -07:00
Ralph Giles 87c459e671 Bug 1398915 - Tasks can have interdependencies within the same kind. r=dustin
Per IRC dicussion, there is no technical or policy restriction on dependencies
within a task kind. Update the documentation to remove the out-of-date mention
of this limitation. In particular, toolchain build tasks tend to depend on
each other.

MozReview-Commit-ID: K6p0mxyjcvY

--HG--
extra : rebase_source : 9439503e8f0a278b1bb41d8a71a2d31d5fc9c0e8
2017-09-11 13:05:45 -07:00
Dustin J. Mitchell 98a3631d7b Bug 1391776: cleanup of taskgraph docs; r=ahal
* eliminate heading for test kinds, of which there is now only one
* make the caches document have a single heading in the TOC
* break out mach commands into a separate document, add ./mach taskgraph morphed
* remove docs for YAML templates support (the .yml file wasn't actually
  used -- I expect it was a merge leftover); these are still used for actions.yml,
  but once that is gone the code should be removed, too.
* break try out into its own document, edit to distinguish "how to run try"
  from "how to generate config"

MozReview-Commit-ID: 76ZopWA9TPL

--HG--
extra : rebase_source : 6946d866f9df6eec591b9a05ddedc6467dd69e4b
2017-08-23 15:22:10 -04:00
Simon Fraser 3d9c373c16 Bug 1387044 Update taskgraph how-to with mention of 'gron' r=dustin DONTBUILD
MozReview-Commit-ID: I3c9p014MF8

--HG--
extra : rebase_source : 02a037ce3c200b91c8121da9a59f4f4f0ad13d1a
2017-08-03 14:30:59 +01:00
Peter Moore f1992a1f4b Bug 1349980 - Highlight the '-J' flag of mach taskgraph command in taskcluster docs,r=dustin 2017-04-06 19:10:52 +02:00
Paul Bignier ff2e59d1cd Bug 1352802 - Typo fixes around 'accessible'. r=MattN
MozReview-Commit-ID: 27CyNOMXkRq

--HG--
extra : rebase_source : 30e8891fa40cb497ab695e72b179c850a3a5c8d9
2017-04-03 09:47:00 -07:00
Justin Wood 54a5d59c87 Bug 1347889 - use 'relative-datestamp' instead of typo 'relative-timestamp' in morphs, to unbreak task submission. r=dustin
MozReview-Commit-ID: 8GCKi6r4WUD

--HG--
extra : rebase_source : 511a7d54d23133b255d364b87207244d4cff7775
2017-03-16 09:44:36 -04:00
Dustin J. Mitchell 335fa26ed0 Bug 1333255: introduce graph morphs, use them to make index tasks; r=jonasfj
Graph morphs modify the graph after optimization, without changing its meaning.
In this case, that means adding index tasks that will insert paths into the
index beyond the relatively limited number afforded in task.routes.

MozReview-Commit-ID: AJy4exX7q2v

--HG--
extra : rebase_source : d61e7462defd41e7112739fb057edb493f495430
extra : source : c580568ed47c1ed2af40d98b47fbb0d136e63060
2017-03-07 20:39:27 +00:00
Dustin J. Mitchell d46264d259 Bug 1333255: and then there was only one Task class; r=jonasfj
Note that the to_json method prefers the taskgraph's dependencies information
(edges) to that from the task.dependencies entries. At a few points in
task-graph generation, these values differ, although that is expected (for
example, the full task set contains no edges, but that information is still in
task.dependencies). Unifying that representation leads to some difficulty with
task transforms that reach into the dependency tree (beetmover), so the
different representations are left as-is.

MozReview-Commit-ID: GeW8HNwFA9Z

--HG--
extra : rebase_source : 549773e05e18371a399612d9bceccffc29be8cf2
2017-03-09 23:14:30 -05:00
Dustin J. Mitchell bf33dfcabd Bug 1333255: implement optimizations as named functions; r=jonasfj
MozReview-Commit-ID: 9xkHny7IYfA

--HG--
extra : rebase_source : 201cf73414aee4bab407c67cb95e08fd2b794ba5
2017-03-10 18:17:43 +00:00
Gregory Szorc 0e12f1cc60 Bug 1318200 - Introduce task graph filtering; r=dustin
Previously, we ran a single "target task" function to mutate the full
task graph into a subset based on input parameters (try syntax,
repository being built for, etc). This concept is useful. But
the implementation was limiting because we could only have a single
"target tasks" function.

This commit introduces the concept of "filters." They conceptually
do the same thing as "target tasks methods" but you can run more than
1 of them.

Filters are simply functions that examine an input graph+parameters
and emit nodes that should be retained. Filters, like target tasks
methods, are defined via decorated functions in a module.

TaskGraphGenerator has been converted to use filters. The list of
defined filters can be defined in the parameters dict passed into
TaskGraphGenerator. A default filter list is provided in decision.py.

The intent is to eventually convert target tasks to filters. Until
that happens, we always run the registered target tasks method via
a filter proxy function.

No new tests have been added because we don't yet have any
functionality relying explicitly on filters. Tests will be added in
a subsequent commit once we add a new filter.

While I was here, I also snuck in some logging on the size of the
graphs.

MozReview-Commit-ID: ERn2hIYbMRp

--HG--
extra : rebase_source : 36b8e86aa64b2f52b03b31b5497759b0009fb921
2016-11-17 15:53:30 -08:00
Dustin J. Mitchell a4290a7d44 Bug 1307571: fix lost action-tasks docs; r=martianwars
MozReview-Commit-ID: HDs8J3EmmVB

--HG--
extra : rebase_source : a89ccac74ae45fe5d5cc12f6074d1199beb19e88
2016-10-04 19:48:31 +00:00
Dustin J. Mitchell 28eaabb6b2 Bug 1294065: describe transitive closure; r=garndt
MozReview-Commit-ID: GYPKA81gkJP

--HG--
extra : rebase_source : cdc61a431a7118e10b9fb2709f616c17db599652
2016-08-10 14:37:32 +00:00
Dustin J. Mitchell ffca84ff7d Bug 1281004: Specify test tasks more flexibly; r=gps; r=gbrown
This introduces a completely new way of specifying test task in-tree,
completely replacing the old spider-web of YAML files.

The high-level view is this:

 - some configuration files are used to determine which test suites to run
   for each test platform, and against which build platforms

 - each test suite is then represented by a dictionary, and modified by a
   sequence of transforms, duplicating as necessary (e.g., chunks), until
   it becomes a task definition

The transforms allow sufficient generality to support just about any desired
configuration, with the advantage that common configurations are "easy" while
unusual configurations are supported but notable for their oddness (they
require a custom transform).

As of this commit, this system produces the same set of test graphs as the
existing YAML, modulo:

  - extra.treeherder.groupName -- this was not consistent in the YAML
  - extra.treeherder.build -- this is ignored by taskcluster-treeherder anyway
  - mozharness command argument order
  - boolean True values for environment variables are now the string "true"
  - metadata -- this is now much more consistent, with task name being the label

Testing of this commit demonstrates that it produces the same set of test tasks for
the following projects (those which had special cases defined in the YAML):

  - autoland
  - ash (*)
  - willow
  - mozilla-inbound
  - mozilla-central
  - try:
    -b do -p all -t all -u all
    -b d -p linux64,linux64-asan -u reftest -t none
    -b d -p linux64,linux64-asan -u reftest[x64] -t none[x64]

(*) this patch omits the linux64/debug tc-M-e10s(dt) test, which is enabled on
ash; ash will require a small changeset to re-enable this test.

IGNORE BAD COMMIT MESSAGES (because the hook flags try syntax!)

MozReview-Commit-ID: G34dg9f17Hq

--HG--
rename : taskcluster/taskgraph/kind/base.py => taskcluster/taskgraph/task/base.py
rename : taskcluster/taskgraph/kind/docker_image.py => taskcluster/taskgraph/task/docker_image.py
rename : taskcluster/taskgraph/kind/legacy.py => taskcluster/taskgraph/task/legacy.py
extra : rebase_source : 03e70902c2d3a297eb9e3ce852f8737c2550d5a6
extra : histedit_source : d4d9f4b192605af21f41d83495fc3c923759c3cb
2016-07-11 23:27:14 +00:00
Kalpesh Krishna 7eccb69c1c Bug 1281062 - Create Action Tasks to schedule new jobs. r=dustin
MozReview-Commit-ID: 5MvqLfGrlLC

--HG--
extra : rebase_source : dd954acce8ef9ed2f3b9aa7c5c2cbd916a82f1f1
2016-07-11 22:43:58 +05:30
Kalpesh Krishna e5474c6adb Bug 1285755 - Adding a from_json function to TaskGraph and each Task subclass. r=dustin
MozReview-Commit-ID: 8fmALSP8nDs

--HG--
extra : rebase_source : 52729a77206498ca32e716ae3774e21f6329f805
2016-07-11 22:39:04 +05:30
Kalpesh Krishna 3112858067 Bug 1284005 - Replacing timestamps with relative timestamps. r=dustin 2016-07-06 03:03:00 +02:00
Ryan VanderMeulen 93a1a23b6b Backed out changeset 320ee1117179 (bug 1284005) for gecko-decision task failures. 2016-07-07 00:16:45 -04:00
Kalpesh Krishna 110a36bb4b Bug 1284005 - Replace timestamps with relative timestamps. r=dustin
--HG--
extra : rebase_source : 0628ff7f93cab9e690fd9d7015783cbc6048d058
2016-07-06 03:03:00 -04:00
Carsten "Tomcat" Book 1add070144 Backed out changeset 8c9ee38712de (bug 1284005) for gecko-decision task failures 2016-07-07 05:56:00 +02:00
Kalpesh Krishna 84704cb30e Bug 1284005 - Replacing timestamps with relative timestamps.
--HG--
extra : rebase_source : 4b7e931d33208e987932d41761725e2769de42a8
2016-07-06 03:03:00 +02:00
Carsten "Tomcat" Book fb7e5c4f86 Backed out changeset cc4009e9cecc (bug 1284005) for causing merge conflicts when merging to m-c
--HG--
extra : rebase_source : 1076f58b4aa748ddc35920d1591bb99b8c1a7358
2016-07-06 11:49:59 +02:00
Kalpesh Krishna 2445bb037a Bug 1284005 - Replacing timestamps with relative timestamps. r=dustin 2016-07-05 11:50:50 -07:00
Dustin J. Mitchell 5c1233316f Bug 1229178: modify --json output to contain a single object r=mshal
MozReview-Commit-ID: DNlxPfQh3o0

--HG--
extra : rebase_source : 0f3f9e73e37efcc53df0e475b8f9cbea21b4de32
2016-06-09 11:15:23 -05:00
Dustin J. Mitchell 77ad76d2ad Bug 1280231: Load kinds in order by dependencies; r=jonasfj
This enables kinds that generate tasks based on those output by another kind.
For example, the test kind might generate a set of test tasks for each build
task.

MozReview-Commit-ID: K7ha9OmJ6gd

--HG--
extra : rebase_source : 36fc7e2d9c5987a4bb8b3779cf1a9308f5561828
extra : intermediate-source : 7898d1ab1afc08f78445165d0c94566b0682a2f7
extra : source : 0852b38cd86c42ebba0f9e74d7470a263969b784
2016-06-27 22:31:06 +00:00
Wes Kocher c9059e6a53 Backed out 3 changesets (bug 1280231) for decision task failures CLOSED TREE
Backed out changeset 4b1d94901b4d (bug 1280231)
Backed out changeset 7898d1ab1afc (bug 1280231)
Backed out changeset ba5cbf4e06a5 (bug 1280231)

--HG--
rename : taskcluster/taskgraph/taskgraph.py => taskcluster/taskgraph/types.py
2016-06-27 15:45:44 -07:00
Dustin J. Mitchell c0fe75d7d2 Bug 1280231: Load kinds in order by dependencies; r=jonasfj
This enables kinds that generate tasks based on those output by another kind.
For example, the test kind might generate a set of test tasks for each build
task.

MozReview-Commit-ID: K7ha9OmJ6gd

--HG--
extra : source : 0852b38cd86c42ebba0f9e74d7470a263969b784
extra : amend_source : f3e8c306afe29ae75bd1f93d8b76ff2b27ad8ed1
extra : histedit_source : aa1ae93aba51025a0e1bd2ecf473aaa33235e4c7%2C2c704328e983a3d75a834b069431e4f166389b02
2016-06-27 22:31:06 +00:00
Dustin J. Mitchell 710fa43288 Bug 1280691: remove old decision tasks and references to them; r=garndt
MozReview-Commit-ID: 3o1nz7sP0j1

--HG--
extra : rebase_source : 7a9c37a2b37806a7ec0bca60b78c6d6d3d236f8a
2016-06-20 18:33:05 +00:00
Dustin J. Mitchell 6ea3546a3e Bug 1277417: output task information in JSON or just labels; r=ahal
The JSON output is suitable for processing with `jq` to extract features of
interest.

MozReview-Commit-ID: 5wpV7sXlOz3

--HG--
extra : rebase_source : 4ffb78ab7a85b32e64d10218a4a8841c22e689f8
2016-06-07 03:09:48 +00:00
Dustin J. Mitchell 722b95f979 Bug 1274611: Implement task-graph optimization; r=gps
* Implement & document optimization (although legacy kind doesn't do much of it)
 * Introduce `optimize_target_tasks` parameter to control whether tasks in the
   target set can be optimized (no for try, yes for most other branches)
 * Refactor to include resolved taskIds in the optimized task graph
 * Include a `label-to-taskid.json` artifact.
 * Introduce {'task-reference': '... <dependency-name> ...'} for referring to
   parent tasks' taskId.

MozReview-Commit-ID: LWvlWNz49U5

--HG--
extra : rebase_source : 780e0e23d24b268ade33ecdcbccb5081f32aac48
2016-06-05 19:49:41 +00:00
Dustin J. Mitchell cea2249ca3 Bug 1258497: Implement a new taskgraph generation system; r=gps
The `taskgraph` package generates TaskCluster task graphs based on collections
of task "kinds".  Initially, there is only one kind, the "legacy" kind, which
reads the YAML files from `testing/taskcluster/tasks` to generate the task
graph.

Try syntax is implemented by filtering the tasks in the taskgraph after it has
been created, then extending the result to include any prerequisite tasks.

A collection of `mach taskgraph` subcommands are provided for developers to
extend or debug the task-graph generation process.

MozReview-Commit-ID: 1TJCns4XxZ8

--HG--
rename : testing/taskcluster/docs/index.rst => taskcluster/docs/index.rst
extra : rebase_source : 7b9125281d66044db9bd8e4a1fade16136f384b9
extra : histedit_source : 47640d27080acda0279270babbcf33f5badb0d1c
2016-05-16 22:53:22 +00:00