Commit Graph

18 Commits

Author SHA1 Message Date
Dustin J. Mitchell
7b617b9156 Bug 1333255: rename taskgraph.task to taskgraph.loader; r=jonasfj
MozReview-Commit-ID: 6aPdGbxn0D1
2017-03-09 19:00:49 -05:00
Dustin J. Mitchell
857d963040 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
2017-03-09 23:14:30 -05:00
Wander Lairson Costa
97113977c9 Bug 1333167: Add extra try options to taskcluster. r=dustin a=jmaher
We add the following command line options to Taskcluster try syntax:

--spsProfile - enable profile mode.
--rebuild-talos <N> - retrigger talos tests N times.
--setenv <VAR>=<val> - add extra environments variables.
--tag <TAG> - run tests only the tag TAG.
--no-retry - doesn't retry failed jobs.

We have a chicken-egg problem, as we first generate the full task graph
and then parse the try message. But the graph generation step needs to
know the try message to process the aforementioned options. The
solution is to parse the message before graph generation and then
pass the command line options to the transforms. Then, each transform
can look at the option that interests it and process it accordingly.

The message parse function is configured in kind.yml, which gives some
flexibility for future implementations of alternative syntaxes.

MozReview-Commit-ID: GPFdi0FD6Vn
2017-02-02 09:34:43 -02:00
Sebastian Hengst
6ceaf1e6a8 Backed out changeset d6648b8f36ed (bug 1333167) for breaking gecko decision task. r=backout on a CLOSED TREE 2017-01-31 21:47:45 +01:00
Wander Lairson Costa
97963da965 Bug 1333167: Add extra try options to taskcluster. r=dustin a=jmaher
We add the following command line options to Taskcluster try syntax:

--spsProfile - enable profile mode.
--rebuild-talos <N> - retrigger talos tests N times.
--setenv <VAR>=<val> - add extra environments variables.
--tag <TAG> - run tests only the tag TAG.
--no-retry - doesn't retry failed jobs.

We have a chicken-egg problem, as we first generate the full task graph
and then parse the try message. But the graph generation step needs to
know the try message to process the aforementioned options. The
solution is to parse the message before graph generation and then
pass the command line options to the transforms. Then, each transform
can look at the option that interests it and process it accordingly.

The message parse function is configured in kind.yml, which gives some
flexibility for future implementations of alternative syntaxes.

MozReview-Commit-ID: DMwRjuV2vpf
2017-01-31 18:16:07 -02:00
Sebastian Hengst
7cb5f66fd9 Backed out changeset 50cf83b69046 (bug 1333167) for breaking gecko decision task. r=backout 2017-01-31 18:25:50 +01:00
Wander Lairson Costa
064a62b081 Bug 1333167: Add extra try options to taskcluster. r=dustin a=jmaher
We add the following command line options to Taskcluster try syntax:

--spsProfile: enable profile mode.
--rebuild-talos <N>: retrigger talos tests N times.
--setenv <VAR>=<val>: add extra environments variables.
--tag <TAG>: run tests only the tag TAG.
--no-retry: doesn't retry failed jobs.

We have a chicken-egg problem, as we first generate the full task graph
and then parse the try message. But the graph generation step needs to
know the try message to process the aforementioned options. The
solution is to parse the message before graph generation and then
pass the command line options to the transforms. Then, each transform
can look at the option that interests it and process it accordingly.

The message parse function is configured in kind.yml, which gives some
flexibility for future implementations of alternative syntaxes.

MozReview-Commit-ID: EQlE6q5E8z7
2017-01-31 15:03:10 -02:00
Dustin J. Mitchell
45eb10a983 Bug 1296842: make target-task related parameters a fixed set; r=jmaher
The `from_parameters` method was never used, and let do confusion over the role
of these parameters.  Now there are only two, and they are always required.

MozReview-Commit-ID: AbPqijXucu5
2016-11-07 19:13:34 +00:00
Brian Stack
d248ef84bf Bug 1275774 - Add notify routes to taskcluster tasks for certain try flags r=dustin
MozReview-Commit-ID: 4ugUjv0NCZK
2016-09-26 10:57:14 -07:00
Dustin J. Mitchell
f0e186cfc5 Bug 1286075: fix target task generation, including try; r=Callek
This uses the run_on_projects attribute introduced earlier for most branches,
adjusts the `ash` method to handle that branch as the legacy implementation
did, and updates try syntax to match builds as well as tests.

In the process, this enables optimizing target tasks, meaning that tasks
specifically requested in the try syntax might be optimized.  While this is
probably not ideal, it matches the existing behavior of try (where `-j all` is
the default but all jobs are set to run only when certain files have been
modified).  This change can be reverted later, in a more advanced version of
try.

MozReview-Commit-ID: 5FYeUTAsafr
2016-09-12 18:41:58 +00:00
Dustin J. Mitchell
22ce8a311d Bug 1293397: fix fake to make tests pass? r=armenzg
MozReview-Commit-ID: AuQBk2w8Ka1
2016-08-08 21:03:38 +00:00
Dustin J. Mitchell
dd34a63fe1 Bug 1280231: rename types.py to taskgraph.py; r=Callek
MozReview-Commit-ID: Jf6CVyFCGMI
2016-06-20 19:11:52 +00:00
Dustin J. Mitchell
95e890d6db Bug 1280231: refactor task kinds to task classes; r=jonasfj
MozReview-Commit-ID: 1cNukxBgfey
2016-06-27 22:57:44 +00:00
Wes Kocher
d3e226b5f1 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)
2016-06-27 15:45:44 -07:00
Dustin J. Mitchell
0b73b6890c Bug 1280231: rename types.py to taskgraph.py; r=Callek
MozReview-Commit-ID: Jf6CVyFCGMI
2016-06-20 19:11:52 +00:00
Dustin J. Mitchell
c27fdb1128 Bug 1280231: refactor task kinds to task classes; r=jonasfj
MozReview-Commit-ID: 1cNukxBgfey
2016-06-20 20:45:15 +00:00
Dustin J. Mitchell
833bb86436 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
2016-06-05 19:49:41 +00:00
Dustin J. Mitchell
2db03e8aeb 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
2016-05-16 22:53:22 +00:00