Commit Graph

89 Commits

Author SHA1 Message Date
Wes Kocher
8f335f47a5 Merge m-c to autoland, a=merge
MozReview-Commit-ID: IJRYyJu1sWm
2017-08-02 17:42:10 -07:00
Dustin J. Mitchell
f2fbd9d9a0 Bug 1382729: add support for run-on-projects with -j; r=gps
MozReview-Commit-ID: GB5E5RhEcu
2017-08-02 17:11:59 +00:00
Justin Wood
007c7167f7 Bug 1384905 - Take 2 - [tc-migration] Windows 8 should not be triggered on try (unless specified) r=dustin
The first version of the patch didn't account for the fact that if we did -p all we still couldn't do -u foo[Windows 8]

specifically: -p all means self.platforms is None
https://hg.mozilla.org/mozilla-central/file/16ffc1d05422/taskcluster/taskgraph/try_option_syntax.py#l563

Then we check if the *test* has a run_on_projects that has either `all` or `try`, it doesn't so we abort.

In new code, we merely set a flag to say don't-run-me-by-default and use that in a few places.

MozReview-Commit-ID: 6rjNVZvpYGA
2017-07-28 14:45:40 -04:00
Johan Lorenzo
140b3f098e Bug 1384905 - [tc-migration] Windows 8 should not be triggered on try (unless specified) r=Callek
MozReview-Commit-ID: 6y6cR8nIvV3
2017-07-27 14:27:22 +02:00
Justin Wood
04d3e00a01 Bug 1381577 - Part AI; Add tests reftest-gpu, talos-quantum-pageload, and talos-xperf. r=jmaher
Land date changes to support windows nightlies onto central

MozReview-Commit-ID: 8wlzBReWe5r
2017-07-20 09:58:05 -04:00
Nathan Froyd
01beca0109 Bug 1383750 - run stylo tests for the "x64" try platform; r=dustin 2017-08-01 17:14:04 -04:00
Bryce Van Dyk
517ccbc46b Bug 1372051 - Remove task cluster configuration for external media tests. r=dustin
MozReview-Commit-ID: KV9O6ZSP6z7
2017-06-12 09:40:51 +12:00
Andrew Halberstadt
16f7b57cf3 Bug 1372510 - Exclude 'job' tasks that require a build from the default try selection, r=dustin
It's a bit hacky to single out 'build' dependencies, but most tasks have a dependency on a docker
image, so we can't blanket skip all 'job' tasks with any dependencies at all. This is far from ideal
but is an improvement on the current behaviour of running build dependencies all the time, even if
the 'job' task gets optimized away.

There is likely a cleverer solution, but that can be follow-up work.

MozReview-Commit-ID: 6T68LT5VSrg
2017-06-13 11:04:08 -04:00
Brian Stack
bc76d94a6a Bug 1357238 - Allow apostrophes in try commit messages r=dustin
This copies the behavior of mozilla-taskcluster when it
submits try pushes. This will allow us to eventually stop
using mozilla-taskcluster.

MozReview-Commit-ID: J9zC92AE7HZ
2017-06-01 17:49:02 -07:00
Andrew Halberstadt
364331950b Bug 1368733 - [taskcluster] Ensure job tasks run automatically on try when they're supposed to, r=dustin
The logic here is a bit tricky to grok, but essentially there are two kinds of "job" tasks, those that
should always be considered (and possibly be optimized away later due to "skip-unless-changed"), and
those that should only be considered if their associated build-platform is also going to be scheduled.
If -j is specified, that should supercede both cases.

This patch uses the prescence of the 'build_platform' attribute to draw the distinction.

MozReview-Commit-ID: H9SjeYuZ8F0
2017-05-30 12:37:03 -04:00
Phil Ringnalda
2bb059d190 Bug 1367958 - Make -u foo[10.10] try syntax work with Taskcluster scheduling of OS X jobs, r=dustin
MozReview-Commit-ID: 2vbZvHEpYWR
2017-05-25 21:00:54 -07:00
Dustin J. Mitchell
99b2726952 Bug 1365646: fix logic error in try syntax -j handling; r=gps
MozReview-Commit-ID: ApKmq9IYRtV
2017-05-17 16:29:03 +00:00
Dustin J. Mitchell
71d3526289 Bug 1345863: set the job_try_name for all tasks governed by -j; r=gps
We have a `unittest_try_name` for all unit test tasks, and similarly a
`talos_try_name`. The `-j` flag controls tasks known as "jobs" (although the
word has dozens of other meanings, too). Some of those set `job_try_name`, but
others do not and have special-case support in `try_option_syntax.py`. With
this change, all "jobs" set `job_try_name` and the special-case is removed.

MozReview-Commit-ID: 9hvW7wBIl2B
2017-04-28 11:12:31 -04:00
Wander Lairson Costa
06a791ba72 Bug 1363714: Split tests tasks between TC and BB. r=dustin
In order to migrate from buildbot to taskcluster gradually, we read an
external json file to tells the percentage of jobs that must run in
Taskcluster.

MozReview-Commit-ID: JQhvsXKpcLz
2017-05-10 16:54:27 -03:00
Wes Kocher
a5fd1458b4 Backed out changeset 375bf84f1825 (bug 1363714) for flake8 failures a=backout
MozReview-Commit-ID: 5NGFjeBeyrM
2017-05-10 12:27:45 -07:00
Wander Lairson Costa
f5ecb2a316 Bug 1363714: Split tests tasks between TC and BB. r=dustin
In order to migrate from buildbot to taskcluster gradually, we read an
external json file to tells the percentage of jobs that must run in
Taskcluster.

MozReview-Commit-ID: K9KZMhe36Cu
2017-05-10 15:15:29 -03:00
Dustin J. Mitchell
a9ae152390 Bug 1357465: include the full test platform like it says in the docs; r=jmaher
MozReview-Commit-ID: CkAsBNEznuw
2017-04-14 20:49:44 +00:00
Sebastian Hengst
a5210d8c66 Backed out changeset ccf614bcd296 (bug 1357465) for breaking gecko decision tasks for nightly-code-coverage and nightly-mochitest-valgrind. r=backout a=backout
MozReview-Commit-ID: LpexSmhHEFh
2017-04-22 11:21:21 +02:00
Dustin J. Mitchell
44aed2b792 Bug 1357465: include the full test platform like it says in the docs; r=jmaher
MozReview-Commit-ID: CkAsBNEznuw
2017-04-14 20:49:44 +00:00
Brian Stack
08f805ae31 Bug 591688 - Notify when decision task fails r=dustin,gps
This uses the email provided by mozilla-taskcluster to find who to
email about failed decision tasks. It also adds some validation of
the try syntax that we've previously ignored.

Any platforms or build types specified in try sytax that don't exist
in the full task graph will throw an error.


MozReview-Commit-ID: JOKkLle7hEe
2017-04-12 21:01:46 -07:00
Mike Conley
db04b9c3ad Bug 1355579 - Remove last references to spsProfile in the tree. r=dustin
MozReview-Commit-ID: 9kZeiaFWZCp
2017-04-11 15:08:12 -04:00
Sebastian Hengst
0c6a989c36 Backed out changeset 6c01aaecd8cc (bug 1355579) for failing taskgraph's test_try_option_syntax.py. r=backout 2017-04-12 00:23:37 +02:00
Mike Conley
622c91f466 Bug 1355579 - Remove last references to spsProfile in the tree. r=dustin
MozReview-Commit-ID: 9kZeiaFWZCp
2017-04-11 15:08:12 -04:00
Peter Moore
690418f9dc Bug 1349980 - update task generation to support -g in try syntax for running OS X tasks in generic-worker,r=dustin 2017-04-06 18:50:41 +02:00
Steve Fink
3b0a8fa620 Bug 1346016 - Add a build to test --enable-fuzzing, r=dustin
MozReview-Commit-ID: Ko4SsdafxAN
2017-03-01 14:43:19 -08:00
Aki Sasaki
3f38919567 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
2017-03-09 16:32:41 -08:00
Dustin J. Mitchell
ebf4711d4e Bug 1337903: add and use a job_try_name attribute; r=ahal
This fixes the ability to run mozbase via `-j mozbase`, with the
added advantage that it will obey `-p` too.

MozReview-Commit-ID: 1zkitUephXk
2017-03-08 17:28:34 +00:00
Chris Manchester
51cd27b082 Bug 1344039 - Don't schedule symbol uploading on try jobs. r=dustin
MozReview-Commit-ID: 7ttX5CjEhqo
2017-03-06 16:31:37 -08:00
Andrew Halberstadt
aac4585624 Bug 1335873 - Convert marionette harness unittests to standard python unittests, r=maja_zf
This formats the marionette-harness python tests to be a regular |mach python-test| suite. Though
we add subsuite=marionette, this is just for automation purposes. The new preferred way to run the
marionette harness tests locally is:
./mach python-test testing/marionette

They will also run if running the full suite.

The mozbase packages.txt file modifies mozlog to use 'setup.py' instead of 'pth'. The reason for
this is that the marionette-harness tests use the pytest_mozlog pytest plugin for formatting
their results (converts pytest format into something resembling the standard tbpl logging format).
In order for this plugin to get picked up however, mozlog's setup.py file needs to be processed.

MozReview-Commit-ID: Ata99evHxbd
2017-02-15 16:38:45 -05:00
Sebastian Hengst
26ea5b9d14 Backed out changeset 3c0a7527608a (bug 1335873) 2017-03-01 17:35:06 +01:00
Andrew Halberstadt
d08b8a2c05 Bug 1335873 - Convert marionette harness unittests to standard python unittests, r=maja_zf
This formats the marionette-harness python tests to be a regular |mach python-test| suite. Though
we add subsuite=marionette, this is just for automation purposes. The new preferred way to run the
marionette harness tests locally is:
./mach python-test testing/marionette

They will also run if running the full suite.

The mozbase packages.txt file modifies mozlog to use 'setup.py' instead of 'pth'. The reason for
this is that the marionette-harness tests use the pytest_mozlog pytest plugin for formatting
their results (converts pytest format into something resembling the standard tbpl logging format).
In order for this plugin to get picked up however, mozlog's setup.py file needs to be processed.

MozReview-Commit-ID: Ata99evHxbd
2017-02-15 16:38:45 -05:00
Dustin J. Mitchell
229ee0b4ce Bug 1342510: fix -u mochitest-e10s-foo aliases to point to nonempty sets of tests; r=jmaher
MozReview-Commit-ID: 4P8WQraSe9U
2017-02-24 22:03:26 +00:00
Andrew Halberstadt
87d2823d65 Bug 1336559 - Rename source-check kind to source-test, r=dustin
The name 'source-check' is a bit of a misnomer, because it already includes a bunch
of tasks that are proper unittests, not lints. Some of these unittests will soon
depend on a build task, which makes 'source-check' feel even more wrong.

They still have a lot in common with the lint tasks though, so it's probably not
worth splitting this into two separate kinds. Instead, let's just rename this kind
to 'source-test', which means, any task that tests stuff and is run from the source
directory (instead of a tests.zip). I think both lints and python-tests fall squarely
under this definition.

MozReview-Commit-ID: K0gZ5rVLyeD
2017-02-02 16:16:06 -05:00
Wander Lairson Costa
248c999725 Bug 1336427: add try option to run tc-worker jobs. r=dustin
-w, --taskcluster-worker: schedule taskcluster-worker jobs.

This is necessary to relieve the load of the small pool of data center
machines.

MozReview-Commit-ID: IiOLHUs2ALi
2017-02-03 16:38:51 -02:00
Wander Lairson Costa
babc3aaaaa Bug 1333167: Handle empty try message. r=dustin
We parse_message needs to return an args object even if try commit
message is empty.

MozReview-Commit-ID: BPWvzjAyjHX
2017-02-02 09:34:43 -02: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
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