Commit graph

52 commits

Author SHA1 Message Date
Wander Lairson Costa
aa5f7afcb9 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

--HG--
extra : rebase_source : 211ecf52694078986caf290c5b0cca35c775da61
2017-01-31 18:16:07 -02:00
Sebastian Hengst
aed3479d18 Backed out changeset 50cf83b69046 (bug 1333167) for breaking gecko decision task. r=backout 2017-01-31 18:25:50 +01:00
Wander Lairson Costa
cd15766fd6 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

--HG--
extra : rebase_source : 4b7323cd915e8ef9820816015b4b45524811eaf1
2017-01-31 15:03:10 -02:00
Dustin J. Mitchell
d1125a7865 Bug 1334821: default to -t none; r=philor
MozReview-Commit-ID: 4TokylNSuAl

--HG--
extra : rebase_source : 1ee628b14ef01b5ab02f86073a18a10a671b1d04
2017-01-28 19:31:57 +00:00
Dustin J. Mitchell
174aa73537 Bug 1332844: alias "Ubuntu" to test platform linux32, rather than linux; r=gbrown
MozReview-Commit-ID: GjY9tF5TxjL

--HG--
extra : rebase_source : abab2fd0e01127e95dabf085ce459cc3e7e525a4
2017-01-21 18:53:19 +00:00
Dustin J. Mitchell
b390855d78 Bug 1332844: allow printing Options when notifications is None; r=gbrown
(I stumbled over this while debugging)

MozReview-Commit-ID: GCIMv3Zhbp8

--HG--
extra : rebase_source : f80dbdc252726e28c72b5bb381441ba2dffb70a4
2017-01-21 18:53:00 +00:00
Sebastian Hengst
cf27f94bbc 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
4a32f28003 Backed out changeset 1306d84ed02f (bug 1332844) 2017-01-23 18:14:31 +01:00
Dustin J. Mitchell
e8ffda5e81 Bug 1332844: alias "Ubuntu" to test platform linux32, rather than linux; r=gbrown
MozReview-Commit-ID: GjY9tF5TxjL

--HG--
extra : rebase_source : d0acc5ecbbd727c9e8a902497255308aaaf471d0
2017-01-21 18:53:19 +00:00
Dustin J. Mitchell
5aa36ec1f7 Bug 1332844: allow printing Options when notifications is None; r=gbrown
(I stumbled over this while debugging)

MozReview-Commit-ID: GCIMv3Zhbp8

--HG--
extra : rebase_source : 99ce677453440a3ad5bf734968be56c148f06748
2017-01-21 18:53:00 +00:00
Dustin J. Mitchell
6c70e46f72 Bug 1326232: correctly match tests with try syntax; r=Callek
MozReview-Commit-ID: Brh5ceeBVRk

--HG--
extra : rebase_source : a87fc44d4a23672367c31c23568634b102477c05
2016-12-29 16:46:20 +00:00
Wander Lairson Costa
faf6866243 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

--HG--
extra : rebase_source : ede38a683abdf411612e885f6985c79b0532cb46
2016-11-18 16:52:15 -02:00
Gregory Szorc
6fd7392903 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

--HG--
extra : rebase_source : fdc9a5300c0bfa27133478fc456bc618f26fb9b2
2016-11-17 09:52:39 -08:00
Andrew Halberstadt
adbd485b6e 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

--HG--
extra : rebase_source : 8fd50113c37745bc10181e1311cc62d75485723a
2016-11-14 14:29:50 -05:00
Gregory Szorc
0363e0cffb 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

--HG--
extra : rebase_source : 782401359036751896ef6c153a81a06cb14031bb
2016-09-30 09:21:09 -07:00
Greg Mierzwinski
7bf3a43886 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

--HG--
extra : rebase_source : 06d542cbec16bd8091bc282ad1b831fb4671e72a
2016-09-24 14:31:25 -04:00
Nick Fitzgerald
e2cccedfb2 Bug 1277338 - Part 1: Turn js/src into the mozjs-sys crate; r=sfink 2016-10-13 16:12:42 -07:00
Joel Maher
974f731a59 Bug 1300074 - adjust taskcluster task names to match buildbot. r=dustin.
MozReview-Commit-ID: BV9stGRhhZG

--HG--
extra : rebase_source : 39b630a75acd571555a983c3d6f9dcbf1170d96d
2016-10-05 08:57:50 -04:00
Phil Ringnalda
18e0fd86a6 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

--HG--
extra : rebase_source : cb77ff3e016939c94ac05964a6db809fe10aaa1a
2016-10-02 23:20:02 -07:00
Phil Ringnalda
b585dfc1bc 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

--HG--
extra : rebase_source : 336d3a787569e14e5ae8608902e6e557ef2ce6c3
2016-10-01 19:19:24 -07:00
Brian Stack
e6e4f7b548 Bug 1275774 - Add notify routes to taskcluster tasks for certain try flags r=dustin
MozReview-Commit-ID: 4ugUjv0NCZK

--HG--
extra : rebase_source : d552a45a25cdcfbde9eb012b4c77a6f4b8770444
2016-09-26 10:57:14 -07:00
Brian Stack
3984bade54 Bug 1275774 - Add try-syntax parsing of email notifications to taskcluster r=dustin
MozReview-Commit-ID: 8ZXCNEvMDCg

--HG--
extra : rebase_source : e527c725e5b35a5f6f7644cbd72eb450801d64ba
2016-09-21 18:02:43 -07:00
Kim Moir
9334cbf678 Bug 1303590 - Remove Luciddream test suite r=aobreja 2016-09-23 09:20:54 -04:00
Dustin J. Mitchell
bfea831cd8 Bug 1286075: delete the legacy kind; r=mshal
MozReview-Commit-ID: F99tUGUWj6d

--HG--
rename : taskcluster/ci/legacy/routes.json => testing/mozharness/configs/routes.json
extra : rebase_source : a437dd30dac1add3f439a98a8d910d2bdbcc843f
2016-09-08 00:31:35 +00:00
Dustin J. Mitchell
52ca0c7efa 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

--HG--
extra : rebase_source : b6f55134c25cb670409e906da1acc7c0bd8d0dc0
2016-09-08 00:25:48 +00:00
Dustin J. Mitchell
36b108725b 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

--HG--
extra : rebase_source : d171b5393fa340a47927e8b89ece93392ff23e56
2016-09-08 00:32:50 +00:00
Dustin J. Mitchell
26f2d36fc7 Bug 1286075: add a b2g-device kind; r=gerard-majax
MozReview-Commit-ID: GaP2xGF3WzJ

--HG--
extra : rebase_source : a9e3f4c9232ccff3c135a9d3f63956e4f44c25df
2016-09-12 18:04:18 +00:00
Dustin J. Mitchell
9bb2b3ed24 Bug 1286075: add a spidermonkey kind; r=sfink
MozReview-Commit-ID: 4uI8LxHrSOS

--HG--
extra : rebase_source : e30d431e48bf12cd6752de07f224dfb232a55c14
2016-09-12 18:04:24 +00:00
Dustin J. Mitchell
eb34ebceda Bug 1286075: add a toolchain kind; r=gps
MozReview-Commit-ID: EEeQdA9aPPq

--HG--
extra : rebase_source : c1365c69e5c0d8bf4bfc8079d6f9fe8f43156cee
2016-09-12 18:04:31 +00:00
Dustin J. Mitchell
3ad0d4341d Bug 1286075: add a static-analysis kind; r=Ehsan
MozReview-Commit-ID: G8muXBcNd5L

--HG--
extra : rebase_source : 3f824f01ea7833adb8142fa9dc65c90e3fa990b3
2016-09-08 00:31:35 +00:00
Dustin J. Mitchell
a83a8a116a Bug 1286075: add a valgrind kind; r=mshal
MozReview-Commit-ID: IM6iFkBIHam

--HG--
extra : rebase_source : 7ed690bd74cc7e45dde76696ea4c6cf5af7acdf1
2016-09-07 00:48:31 +00:00
Dustin J. Mitchell
126e67628e Bug 1286075: add upload-symbols kind; r=ted.mielczarek
MozReview-Commit-ID: C3Se6gdSPri

--HG--
extra : rebase_source : 593030907b5edcdbb0f8863f4226a73b50d32b51
2016-09-07 15:08:28 +00:00
Dustin J. Mitchell
7ad064d6b0 Bug 1286075: add source-check kind; r=ahal
MozReview-Commit-ID: EDdPraYxNlH

--HG--
extra : rebase_source : aab182e3dfda2bbe831f8aef6a06a0d946384b8f
2016-09-12 18:39:05 +00:00
Dustin J. Mitchell
f24c79cf78 Bug 1286075: add l10n kind; r=Callek
MozReview-Commit-ID: 3mR5AxWSk9P

--HG--
extra : rebase_source : 14de8e0682c2dfda52bfce63905bd384c92ff7a7
2016-09-09 21:06:51 +00:00
Dustin J. Mitchell
fd289830f7 Bug 1286075: add hazard kind; r=sfink
MozReview-Commit-ID: qvFg2O6OwB

--HG--
extra : rebase_source : 0f118b793b2ff1078a72c2a60bda36d51f25ad70
2016-09-12 18:04:09 +00:00
Dustin J. Mitchell
39bb843d5d Bug 1286075: add artifact-build kind; r=chmanchester r=gps
MozReview-Commit-ID: 41WpDtXvoPb

--HG--
extra : rebase_source : c2906b9e4333fcd11568d5a7a43582203a623649
2016-09-07 01:01:52 +00:00
Dustin J. Mitchell
ea5260dea0 Bug 1286075: add a build kind, modify tests to use it; r=jlund
MozReview-Commit-ID: DkpkkSRxVB9

--HG--
extra : rebase_source : e9d8764b64dff35e374bc669b1769cb6c2ce0eeb
2016-09-12 18:34:06 +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
Justin Wood
7be2611be7 Bug 1293789 - Single Locale in TC - Add task def for try. r=rail
MozReview-Commit-ID: 7n2NqqHj9wL

--HG--
rename : testing/mozharness/configs/single_locale/tc_android_api_15.py => testing/mozharness/configs/single_locale/tc_android-api-15.py
extra : rebase_source : 4a575d04ea6fac7078d483f00f169cfdb9ac5194
2016-09-03 10:32:22 -04:00
Kim Moir
2e15a539b5 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
defab7007f 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
8428cd56e3 merge mozilla-inbound to mozilla-central a=merge 2016-07-20 11:20:15 +02: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
Dustin J. Mitchell
a30b6ff2f2 Bug 1279676: use --rebuild instead of --trigger-tests; r=armenzg
MozReview-Commit-ID: F7jc7AG0SCr
2016-06-21 18:50:55 +00:00
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
Justin Wood
83a1642d15 Bug 1171736 - Add taskcluster scheduling logic (on try) for linux l10n. r=sfink
MozReview-Commit-ID: Auz7sOW5Ptr

--HG--
rename : testing/mozharness/configs/single_locale/tc_linux64.py => testing/mozharness/configs/single_locale/tc_linux32.py
2016-06-06 16:09:51 -04:00
Sebastian Hengst
faf31d5017 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
1c1bc5647d Bug 1171736 - Add taskcluster scheduling logic (on try) for linux l10n. r=sfink
MozReview-Commit-ID: Auz7sOW5Ptr

--HG--
rename : testing/mozharness/configs/single_locale/tc_linux64.py => testing/mozharness/configs/single_locale/tc_linux32.py
extra : rebase_source : 95494000eeca93b45d267328f3a88315bb2829f8
2016-06-06 16:09:51 -04:00
Dustin J. Mitchell
28dfa968a6 Bug 1275409: remove unused aliases list in yaml files; r=wcosta
MozReview-Commit-ID: D8ULUQ8jFmU

--HG--
extra : rebase_source : 690897cce086e13247e76c08357a175ed4b08165
2016-06-04 21:24:59 +00:00
Dustin J. Mitchell
05baf69879 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

--HG--
extra : rebase_source : 64f289ed18a90c4d2c6988935a5865b41367f976
2016-05-18 17:55:33 +00:00