Commit Graph

51 Commits

Author SHA1 Message Date
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
d235ced290 Bug 1334821: default to -t none; r=philor
MozReview-Commit-ID: 4TokylNSuAl
2017-01-28 19:31:57 +00:00
Dustin J. Mitchell
17e0a9c017 Bug 1332844: alias "Ubuntu" to test platform linux32, rather than linux; r=gbrown
MozReview-Commit-ID: GjY9tF5TxjL
2017-01-21 18:53:19 +00:00
Dustin J. Mitchell
deae9e3413 Bug 1332844: allow printing Options when notifications is None; r=gbrown
(I stumbled over this while debugging)

MozReview-Commit-ID: GCIMv3Zhbp8
2017-01-21 18:53:00 +00:00
Sebastian Hengst
4d8791b5f4 Backed out changeset cc8c2f345bbb (bug 1332844) for taskgraph failure in test_try_option_syntax.py. r=backout 2017-01-23 18:14:31 +01:00
Sebastian Hengst
f53017c721 Backed out changeset 1306d84ed02f (bug 1332844) 2017-01-23 18:14:31 +01:00
Dustin J. Mitchell
45646bbc4e Bug 1332844: alias "Ubuntu" to test platform linux32, rather than linux; r=gbrown
MozReview-Commit-ID: GjY9tF5TxjL
2017-01-21 18:53:19 +00:00
Dustin J. Mitchell
76ec34a91f Bug 1332844: allow printing Options when notifications is None; r=gbrown
(I stumbled over this while debugging)

MozReview-Commit-ID: GCIMv3Zhbp8
2017-01-21 18:53:00 +00:00
Dustin J. Mitchell
21077b22cc Bug 1326232: correctly match tests with try syntax; r=Callek
MozReview-Commit-ID: Brh5ceeBVRk
2016-12-29 16:46:20 +00:00
Wander Lairson Costa
14dde0a8a2 Bug 1316077 part 1: Support buildbot-bridge for talos tests. r=dustin
While we don't have physical machines running taskcluster-worker, we
want to schedule talos tests on Taskcluster and run them on buildbot.

buildbot-bridge acts as a worker that runs its tasks in buildbot
machines. Any talos task is redirected to buildbot-bridge.

MozReview-Commit-ID: Im9IhhT0Mr1
2016-11-18 16:52:15 -02:00
Gregory Szorc
901d1f3286 Bug 1318200 - TaskCluster CI for Stylo; r=dustin
This commit introduces support for performing build and test variations
with Stylo enabled.

From a high level, this is similar to the e10s/non-e10s variations that
we currently run. However, it is different in that Stylo is a build
time (not run time) flag. So, we need to perform separate builds for
Stylo.

In the current implementation of the task graph, we can either
introduce a new platform or a new build type/configuration. I've
chosen to introduce a new platform if nothing else so the Treeherder
results clearly separate Stylo from non-Stylo. This decision can be
revisited in the future once Stylo becomes more stable and visible
outside the "stylo" repository.

Stylo functionality is limited to layout functionality and Stylo
developers aren't very interested in many tests not related to layout
at the moment. So we introduce a new test set running a limited
functionality of tests in Stylo builds.

In the current state of this commit, Stylo builds will permafail.
This is because Stylo builds require a vendored copy of Servo. Logic
for pruning the task graph of Stylo/Servo related tasks will be
implemented in subsequent commits.

MozReview-Commit-ID: JivhkpXDjIw
2016-11-17 09:52:39 -08:00
Andrew Halberstadt
e106c0c05f Bug 1275943 - Ensure job tasks are added to target set even if no try syntax specified, r=dustin
Job tasks are tasks that are not tied to a specific build or test. As such, they cannot be scheduled
with the regular -p/-u try syntax options. There exists a -j try syntax option, to schedule them, which
defaults to running "all" of them if not specified.

However, there is a bug here where they will only default to "all" if a try syntax exists in the commit
message. They will not be considered if a developer pushes to try without a try syntax. This happens
because self.jobs is initially initialized with '[]' and we use None to determine when to schedule "all"
later on.

I want to move towards a world without try syntax, so we should start improving the UX of the no try
syntax use case.

Note: When I say "schedule" here, I mean added to the target set. They may still be optimized away.

MozReview-Commit-ID: 4TrC84RGiaL
2016-11-14 14:29:50 -05:00
Gregory Szorc
f277d5ebce Bug 1306641 - Remove TaskCluster automation related to b2g; r=dustin
This definitely isn't all of it. But I got the obvious chunks. Still
need to clean up mozharness.

MozReview-Commit-ID: JTZBydP3i2r
2016-09-30 09:21:09 -07:00
Greg Mierzwinski
9bb8846dd6 Bug 1305242 - Disable linux64-jsdcov and linux64-ccov from running on try with '-u all'. r=dustin
This patch prevents tests which have the 'run_on_projects' attribute assigned to an empty set from running when the try message contains '-p all' and '-u all' together. It also makes the 'match_test' function a little more readable and updates the 'attributes.rst' document to reflect the changes that were made.

MozReview-Commit-ID: IMk0cmSza8U
2016-09-24 14:31:25 -04:00
Nick Fitzgerald
2a1f07b50c Bug 1277338 - Part 1: Turn js/src into the mozjs-sys crate; r=sfink 2016-10-13 16:12:42 -07:00
Joel Maher
8022b5ebdb Bug 1300074 - adjust taskcluster task names to match buildbot. r=dustin.
MozReview-Commit-ID: BV9stGRhhZG
2016-10-05 08:57:50 -04:00
Phil Ringnalda
ea86186c88 Bug 1307043 - Make [Ubuntu] in try syntax include ASan tests, r=dustin
If you want to run tests on Linux32 and Linux64, you use trychooser syntax like
"-u all[Ubuntu]" which taskcluster supports, but if you also built ASan, and
want tests on ASan, there's no supported documented way to get them. That sounds
like an edge-case, except that to get tests to run on WinXP or Win8 you have to
explicitly list them, so to get tests on every platform you build you have to
list all of them, and if ASan is one of them you have to somehow know to dig
around in the .yml and to know that linux64-asan is the thing to dig out.

MozReview-Commit-ID: 2REf0cUWmK8
2016-10-02 23:20:02 -07:00
Phil Ringnalda
531ea657b0 Bug 1306933 - Support the 'Android 4.3' prettyname alias for trychooser, r=dustin
The trychooser website advertises 'Android 4.3' as the alias to choose Android
tests in [] syntax, but without support for that in taskcluster, someone who
wants both opt and debug tests would need to guess, with no support or
documentation, that they should use [Android 4.3,android-4.3-arm7-api-15]

MozReview-Commit-ID: 4rEKcvqAfDH
2016-10-01 19:19:24 -07: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
Brian Stack
4cc8fbffa1 Bug 1275774 - Add try-syntax parsing of email notifications to taskcluster r=dustin
MozReview-Commit-ID: 8ZXCNEvMDCg
2016-09-21 18:02:43 -07:00
Kim Moir
c012e8e9bd Bug 1303590 - Remove Luciddream test suite r=aobreja 2016-09-23 09:20:54 -04:00
Dustin J. Mitchell
b5148a1840 Bug 1286075: delete the legacy kind; r=mshal
MozReview-Commit-ID: F99tUGUWj6d
2016-09-08 00:31:35 +00:00
Dustin J. Mitchell
31b1b6d53e Bug 1286075: add a (temporary) android-stuff kind; r=nalexander
This leaves a lot of room for improvement, but gets the job done for now.

MozReview-Commit-ID: HmeTxZjOfOb
2016-09-08 00:25:48 +00:00
Dustin J. Mitchell
ddfee354e8 Bug 1286075: add a (temporary) marionette-harness kind; r=maja_zf
This has some notes for future work on the task, but will work for now.

MozReview-Commit-ID: 7J4tQeKj3KJ
2016-09-08 00:32:50 +00:00
Dustin J. Mitchell
8ab19f8c71 Bug 1286075: add a b2g-device kind; r=gerard-majax
MozReview-Commit-ID: GaP2xGF3WzJ
2016-09-12 18:04:18 +00:00
Dustin J. Mitchell
a34ad8a0ad Bug 1286075: add a spidermonkey kind; r=sfink
MozReview-Commit-ID: 4uI8LxHrSOS
2016-09-12 18:04:24 +00:00
Dustin J. Mitchell
90e9830b4c Bug 1286075: add a toolchain kind; r=gps
MozReview-Commit-ID: EEeQdA9aPPq
2016-09-12 18:04:31 +00:00
Dustin J. Mitchell
e7c9cbb4f2 Bug 1286075: add a static-analysis kind; r=Ehsan
MozReview-Commit-ID: G8muXBcNd5L
2016-09-08 00:31:35 +00:00
Dustin J. Mitchell
c8c417a005 Bug 1286075: add a valgrind kind; r=mshal
MozReview-Commit-ID: IM6iFkBIHam
2016-09-07 00:48:31 +00:00
Dustin J. Mitchell
ef3e43e91d Bug 1286075: add upload-symbols kind; r=ted.mielczarek
MozReview-Commit-ID: C3Se6gdSPri
2016-09-07 15:08:28 +00:00
Dustin J. Mitchell
048a70e59c Bug 1286075: add source-check kind; r=ahal
MozReview-Commit-ID: EDdPraYxNlH
2016-09-12 18:39:05 +00:00
Dustin J. Mitchell
7929a885f4 Bug 1286075: add l10n kind; r=Callek
MozReview-Commit-ID: 3mR5AxWSk9P
2016-09-09 21:06:51 +00:00
Dustin J. Mitchell
2d6fd8f1cc Bug 1286075: add hazard kind; r=sfink
MozReview-Commit-ID: qvFg2O6OwB
2016-09-12 18:04:09 +00:00
Dustin J. Mitchell
bccf83bbc2 Bug 1286075: add artifact-build kind; r=chmanchester r=gps
MozReview-Commit-ID: 41WpDtXvoPb
2016-09-07 01:01:52 +00:00
Dustin J. Mitchell
5a2e6a001c Bug 1286075: add a build kind, modify tests to use it; r=jlund
MozReview-Commit-ID: DkpkkSRxVB9
2016-09-12 18:34:06 +00: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
Justin Wood
fc47ef6bc5 Bug 1293789 - Single Locale in TC - Add task def for try. r=rail
MozReview-Commit-ID: 7n2NqqHj9wL
2016-09-03 10:32:22 -04:00
Kim Moir
f67bbb9707 Bug 1296088 - -p all -u all[x64] try syntax no longer triggers Linux asan tests r=aselagea DONTBUILD 2016-08-25 09:38:02 -04:00
Geoff Brown
50f1e6a143 Bug 1274578 - Do not use alias when specific try -u test requested; r=dustin 2016-08-16 14:56:45 -06:00
Carsten "Tomcat" Book
db1afeede8 merge mozilla-inbound to mozilla-central a=merge 2016-07-20 11:20:15 +02:00
Dustin J. Mitchell
7f8ec1b437 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
2016-07-11 23:27:14 +00:00
Dustin J. Mitchell
70380ade7f Bug 1279676: use --rebuild instead of --trigger-tests; r=armenzg
MozReview-Commit-ID: F7jc7AG0SCr
2016-06-21 18:50:55 +00:00
Justin Wood
46e1d74044 Bug 1280956 - Use in-tree linter job to flake8 test taskcluster directory. r=dustin
MozReview-Commit-ID: FsWmAnnycZ2
2016-06-20 21:06:55 -04:00
Justin Wood
4dbf0a1449 Bug 1171736 - Add taskcluster scheduling logic (on try) for linux l10n. r=sfink
MozReview-Commit-ID: Auz7sOW5Ptr
2016-06-06 16:09:51 -04:00
Sebastian Hengst
f35806845d Backed out changeset c7ddd550008c (bug 1171736) for breaking gecko-decision opt. r=backout on a CLOSED TREE 2016-06-12 21:01:43 +02:00
Justin Wood
821fad6f16 Bug 1171736 - Add taskcluster scheduling logic (on try) for linux l10n. r=sfink
MozReview-Commit-ID: Auz7sOW5Ptr
2016-06-06 16:09:51 -04:00
Dustin J. Mitchell
f5c3d45401 Bug 1275409: remove unused aliases list in yaml files; r=wcosta
MozReview-Commit-ID: D8ULUQ8jFmU
2016-06-04 21:24:59 +00:00
Dustin J. Mitchell
1b37a54f15 Bug 1269340: add support for try -t option; r=jmaher
This adds support for the `-t`/`--talos` option, matching such jobs against
`talos_try_name`.  There are no such tasks just yet.

MozReview-Commit-ID: FTEx7Nyyi9Z
2016-05-18 17:55:33 +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