Commit graph

47 commits

Author SHA1 Message Date
Kim Moir
75935fcc5c Bug 1339542 - When Servo vcs sync service lands Servo commits in autoland repo, run linux64-stylo tests but skip other platforms (to reduce test load) r=dustin DONTBUILD 2017-04-03 15:48:09 -04:00
Wes Kocher
0902d5e08e Merge m-c to inbound, a=merge
MozReview-Commit-ID: AzYu7EXTIlg
2017-03-14 17:23:26 -07:00
Aki Sasaki
8fa8e0511b bug 1344321 - fix flake8. r=bustage a=release DONTBUILD 2017-03-14 16:39:03 -07:00
Aki Sasaki
800e6bdd73 bug 1344321 - enable run-on-projects for nightlies. r=dustin a=release
This patch enables `run-on-projects` to work appropriately for
nightly builds and tests.  Initially, we were setting an empty
`run-on-projects` for nightly `build_platform`s, then explicitly
targeting the platforms in nightly-specific `target_task_method`s.

Instead, this patch enables nightlies to `run-on-projects` everywhere,
but governs the use of nightlies by either the `include_nightly`
parameter, or the `--include-nightly` try option.  This lets us filter
nightly-related `target_task_method`s against `run-on-projects` without
losing all nightly tasks.

Then, enable spidermonkey tests by removing optimization from beta and
release.  This patch also enables everything then disables specific
tasks, rather than disabling everything and enabling specific tasks.
Since we're beginning with a `filter_for_project` call, we should be
able to reduce these if blocks to zero over time, if desired.

MozReview-Commit-ID: A9tolynaChF

--HG--
extra : rebase_source : 3465ee2c714de3e0359f14109096fc94de27aadf
2017-03-14 15:31:58 -07: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
Aki Sasaki
7d51677840 bug 1344321 - add nightly test support. r=dustin a=release
this patch:

- adds linux{32,64}-nightly/opt test platforms that mirror the non-nightly test platforms.

- adds an `include_nightly` per-project parameter; this is refered to in the default `target_task_method`.  It's still possible to launch custom `target_task_method`s to trigger nightlies against, say, try.

- adds a `filter_for_project` method in `target_tasks.py` that allows for `include_nightly` and `run_on_projects` filtering in the various `target_task_method`s.

- adds nightly filtering into the `TryOptionSyntax` object.  By default, this will be off.  To trigger nightly tests on try, either submit a new decision task with a different `target_task_method` (e.g. `nightly_fennec`) or flip the `include_nightly` flag to True.

- adds the `nightly` attribute to tests if their builds have that attribute.

MozReview-Commit-ID: DttIZH0BHS2

--HG--
extra : rebase_source : d8acbe4c741f570b2e8d33a8e6a7f5c791b24ff6
2017-03-09 16:32:41 -08:00
Mike Hommey
28cdcbdebb Bug 1341214 - Define GECKO in a single location. r=dustin
Instead of every file trying to get the top source directory having an
ad-hoc definition that gets wrong if the files gets moved around for
some reason, define it in a more central location.

--HG--
extra : rebase_source : 1a0cbea267193f6b388b88b36166353e20ac8569
2017-02-17 11:56:12 +09:00
Alin Selagea
a11c397c44 Bug 1339179 - Set up pine for activity-stream builds & tests, r=kmoir 2017-02-24 17:19:04 +02:00
Wes Kocher
29443ed98c Merge m-c to inbound, a=merge
MozReview-Commit-ID: HDHJC8X9xWG
2017-02-22 15:06:46 -08:00
Aki Sasaki
13a088f827 bug 1340609 - promotable beta linux builds on push. r=dustin a=release
MozReview-Commit-ID: JAqifpgD3vW

--HG--
extra : rebase_source : 4570e7a304ac9fc208a0c2267e352e6cf4e1c80a
2017-02-22 10:24:58 -08:00
Carsten "Tomcat" Book
197fbb6eb9 Backed out changeset d8122277e9fd (bug 1341214) for causing on m-c problems in vp tc tasks 2017-02-22 15:33:42 +01:00
Mike Hommey
f99718e272 Bug 1341214 - Define GECKO in a single location. r=dustin
Instead of every file trying to get the top source directory having an
ad-hoc definition that gets wrong if the files gets moved around for
some reason, define it in a more central location.

--HG--
extra : rebase_source : 06fa06d47732223e19b0201f8791fdbffdc9ee03
2017-02-17 11:56:12 +09:00
Gregory Szorc
de39e4a302 Bug 1336607 - Remove dummy geckolib and taskgraph filter; r=froydnj
Now that we use the real geckolib and have all dependencies vendored,
the dummy geckolib is no longer required, so we remove it.

Also, the taskgraph code for testing for Servo's presence always
passes and is no longer needed, so we remove it.

Pushed on a CLOSED TREE because ¯\_(ツ)_/¯

MozReview-Commit-ID: ITAqArK4Bks

--HG--
extra : rebase_source : 5eedb3994b679109246b89b0456dd2a59ef3212b
extra : amend_source : b0c97486ae2b72fd21c7968849735e4189e2e86f
2017-02-03 16:23:14 -08:00
Jonas Finnemann Jensen
24c8b38973 Bug 1332506 - Treeherder actions defined in-tree. r=dustin
Framework for defining actions in-tree that can be displayed
and triggered from Treeherder.

MozReview-Commit-ID: 3rvwgy2i4xu

--HG--
extra : rebase_source : beca394f4337aae4ab149e4db810352f57ec4988
2017-01-31 15:34:05 -08:00
Brian Stack
434009fae3 Bug 1325479 - Fix repo scopes in action task r=dustin
MozReview-Commit-ID: AGfoFtjR5LI

--HG--
extra : rebase_source : 5903b03e4f3ad12e92b2c98761c2f0ea04cabd4d
2016-12-22 17:08:33 -05:00
Brian Stack
563c66bb85 Bug 1324094 - Add correct cache scopes to action tasks r=armenzg,dustin
MozReview-Commit-ID: KxtG4cHU0Mm

--HG--
extra : rebase_source : 155b4c4b8be716443aaa493a7ed5e3e300305d81
2016-12-16 13:06:57 -08:00
Brian Stack
aa3683d105 Bug 1289823 - Add backfilling as an action-task r=armenzg,dustin
MozReview-Commit-ID: HALwE6Q0Lch

--HG--
extra : rebase_source : de9329c46bb9d50e44d29181095577326e039b73
2016-12-07 13:33:20 -10:00
Brian Stack
9ab478af57 Bug 1289823 - Make taskcluster action-task more flexible r=armenzg,dustin
MozReview-Commit-ID: 8qoJsFeFm6I

--HG--
extra : rebase_source : def57f82265534d6f3d7d3f6ee627c66c4bf28bc
2016-11-28 14:15:31 -08:00
Hammad Akhtar
079365ac41 Bug 1322193 - Verify taskgraph implementations against documentation, with proper regex. Updated doc verification for fake values of kinds, parameters etc., regex optimized r=Callek
MozReview-Commit-ID: 56ZEJECbtK5

--HG--
extra : rebase_source : ad1efed52363e95040a9907c6387b4cd57bdaa49
2016-12-06 12:03:36 +05:30
Hammad Akhtar
5267b83943 Bug 1302800 - Verify taskgraph implementations against documentation; r=dustin
MozReview-Commit-ID: J8djr4ifvzm

--HG--
extra : rebase_source : 8112a13fdb8e4bc1b004757411384e224305b2ac
2016-11-26 01:22:46 +05:30
Gregory Szorc
743fc9a44c Bug 1318200 - Filter Stylo platforms when Servo isn't available; r=dustin
Stylo automation doesn't work unless Servo is present in the source
directory. This commit introduces a "check_servo" filter that prunes
tasks requiring Servo. Currently, this is implemented as a test against
platforms that are unique to Servo.

The use of relative path checking to find the topsrcdir is a bit
unfortunate. But we use this pattern elsewhere in this code.

MozReview-Commit-ID: IRtd53tudJW

--HG--
extra : rebase_source : 8c4742c13878d762fe7970eedfa5937fdaebe8c4
2016-11-17 17:10:01 -08: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
Gregory Szorc
bd86442e13 Bug 1318200 - Obtain target tasks method from parameters; r=dustin
Previously, all callers outside of tests that passed
"target_tasks_method" to TaskGraphGenerator all used the same pattern
of looking for a key in the parameters and calling a function in
the target_tasks module.

Future commits will refactor how target tasks graph work. To
make the transition easier, we move the logic for obtaining the
target tasks method into TaskGraphGenerator.

MozReview-Commit-ID: 3QU09iGhoXh

--HG--
extra : rebase_source : fbcc31d705c4b0e148aa3709ddcb18ad99953231
2016-11-17 16:29:51 -08:00
Kartikaya Gupta
9cb5f9e9cf Bug 1318099 - Disable artifact build tasks on the graphics branch. r=dustin
MozReview-Commit-ID: 2whpCUpZTtv

--HG--
extra : rebase_source : 1406fe794e3e6c28139a83b75489444cd6f9f9d7
2016-11-16 15:40:55 -05:00
Kim Moir
35b93a38b7 Bug 1315690 - Limit cedar TC tests to Linux64 mochitest* and xpcshell only u=aselagea r=dustin 2016-11-08 09:22:17 -05:00
Jordan Lund
c569b6a415 Bug 1314795 - introduce build_date to params that defaults to pushdate, r=dustin
MozReview-Commit-ID: AviPKtw3BiY

--HG--
extra : rebase_source : 03ea3a98f84ecf977280beff88e69b292c12886d
2016-11-02 19:23:27 -07:00
Dustin J. Mitchell
8777d8afb3 Bug 1303556: ensure owner is always an email address; r=jonasfj
MozReview-Commit-ID: HPRQS9lYjhI

--HG--
extra : rebase_source : f1a6881d6950e89bb49e99228225ef53cc8f0419
2016-10-03 22:28:02 +00:00
Iris Hsiao
767e1e9b11 merge mozilla-inbound to mozilla-central a=merge 2016-09-26 18:34:20 +08:00
Dustin J. Mitchell
1045a329b8 Bug 1302227: set the taskGroupId to match the decision task; r=garndt
In this case, the tasks must have the same schedulerId as the existing task,
so this is calculated using parameters['level'].

MozReview-Commit-ID: G8EE2kvFstT

--HG--
extra : rebase_source : 214885da9b58520727d5f80b9a31bb8a206f9279
2016-09-22 21:30:56 +00:00
Dustin J. Mitchell
6db7f5787e 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

--HG--
extra : rebase_source : b358e0e7cd8a401c50009e63dd55c59489c9b75b
2016-09-12 18:41:58 +00:00
Jordan Lund
a5114317a5 Bug 1277595 - Add a --triggered-by=nightly flag to taskgraph, r=dustin
MozReview-Commit-ID: 3ipPgeFTWFu

--HG--
extra : rebase_source : 7908cf9138b924e32dd1e72fe2af43eba0366179
2016-09-02 10:29:07 -07:00
Kalpesh Krishna
df3e5c70ed Bug 1304428 - Adding a from_json test in decision task. r=jlund
MozReview-Commit-ID: 7QgfSutjoFZ

--HG--
extra : rebase_source : 5a84e2bf54135e615ba2ed365abef3c60be99bae
2016-09-23 19:26:39 +05:30
Jordan Lund
0a3dc9bf3a backed out Bug 1277595, revs d5d26aa0f369, 42ab74605817, c1aa2a15b4eb, 32a569f4df06, dee2532bdc95, 5809a56922ed CLOSED TREE
* backed out Bug 1277595 - rev: d5d26aa0f369
* backed out Bug 1277595 - rev: 42ab74605817
* backed out Bug 1277595 - rev: c1aa2a15b4eb
* backed out Bug 1277595 - rev: 32a569f4df06
* backed out Bug 1277595 - rev: dee2532bdc95
* backed out Bug 1277595 - rev: 5809a56922ed

--HG--
extra : rebase_source : 06eb6b59fcf558ed67d7db707d27b8fbd6137c7b
extra : amend_source : 0ca4e52b486b73e82127077595fb83e77aaaa55f
2016-09-01 09:56:54 -07:00
amiyaguchi@mozilla.com
c503809166 Bug 1277595 - Add a --triggered-by=nightly flag to taskgraph, r=dustin
MozReview-Commit-ID: DztkFP8nCwc

--HG--
extra : rebase_source : 35bf7740541674614459574e44e70cbd258fa7a1
2016-09-01 09:20:51 -07:00
Dustin J. Mitchell
f7a9bbac26 Bug 1293733: accept pushdate from command line; r=garndt
MozReview-Commit-ID: BrGiowlMVCa

--HG--
extra : rebase_source : e47b9e18b9dbc9e617f9bad165318a74c4e96e36
extra : source : fc1ed3fd8584161ae4693bd1c956e8254368b6bc
2016-07-13 18:50:50 +00:00
Gregory Szorc
a00feedd9f Backed out changeset fc1ed3fd8584 (bug 1291473) on suspicion of breaking decision tasks 2016-08-08 13:15:37 -07:00
Dustin J. Mitchell
05e1597215 Bug 1291473: accept pushdate from command line; r=garndt
MozReview-Commit-ID: BrGiowlMVCa

--HG--
extra : rebase_source : cf257129fcb1f6214949407b6a3956fd9698aa5b
2016-07-13 18:50:50 +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
Justin Wood
15b23fced1 Bug 1280956 - Use in-tree linter job to flake8 test taskcluster directory. r=dustin
MozReview-Commit-ID: FsWmAnnycZ2

--HG--
extra : rebase_source : 04a32cea2de133cb75472092cffb8a215f7dc603
2016-06-20 21:06:55 -04:00
Gregory Arndt
54542098dc Bug 1280129 - Update tasks to use v2 treeherder routes r=dustin
Jobs reporting to treeherder should rely on the task route for project,
revision, and pushlog ID rather than things stuffed into task.extra.treeherder.

This also removes the need for a revision_hash that was calculated by mozilla-taskcluster.

MozReview-Commit-ID: EcQM9QRZzgG

--HG--
extra : rebase_source : f04f6724feef2dd51b4b98c67c9a261b093f452b
extra : amend_source : 0590605834d93359206f49edd94396c43b57f6dd
2016-06-14 12:56:25 -05: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
3c13ffbd14 Bug 1274611: spell target-tasks.json with -; r=wcosta
MozReview-Commit-ID: Aij7wL3onop

--HG--
extra : rebase_source : a22fe4849b8494bf2bc460e2f7ce9be08f76ec69
2016-06-01 20:29:08 +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
120576c2a9 Bug 1273673: use Python logging for taskgraph generation; r=gps
MozReview-Commit-ID: EYI6hGFUWP8

--HG--
extra : rebase_source : 06095357cec152790c6025184e4c7c49e5d03835
2016-05-18 18:02:51 +00:00
Dustin J. Mitchell
e98ea9da30 Bug 1273633: support per-branch config in the decision task; r=garndt
MozReview-Commit-ID: LXQIaSzPpr4

--HG--
extra : rebase_source : ebdbc008d0547b84edef5f92e12325a1b90a437a
2016-05-17 21:27:11 +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