Commit Graph

81 Commits

Author SHA1 Message Date
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
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