Commit Graph

5 Commits

Author SHA1 Message Date
Henrik Skupin
d094f6156a Bug 1239808 - Update taskcluster configs for test_package.json renaming. r=garndt
MozReview-Commit-ID: GxqQH94Isgg
2016-02-25 21:39:26 +01:00
Gregory Szorc
3315d1c1f3 Bug 1249078 - Support grouping and running tasks by tag; r=garndt
We can now define a list of "tags" for a task. Specifying "-j <tag>"
in Try syntax will run all tasks having that tag.

MozReview-Commit-ID: Ih9Z0tRZ5VA
2016-02-17 11:12:40 -08:00
Gregory Szorc
850083f184 Bug 1245953 - Support for only running tasks when certain files change; r=garndt
Firefox's automation currently tends to run all the jobs all the time.
It is wasteful to do this. For example, running ESLint when the commit
only changes a .cpp file adds no value.

This commit adds support for only running tasks when certain files
change. The new-style tasks introduced by the previous commit have been
taught a "when" dictionary property that defines conditions that should
hold for the task to be executed. We define a "file_patterns" list that
defines lists of mozpack path matching expressions that will be matched
against the set of files changed by the changesets relevant to the
changeset being built. The eslint task has been updated to only run if
files related to it change.

Because conditions may not be accurate, we add a CLI argument to ignore
conditions and force all would-be-filtered tasks to run.

MozReview-Commit-ID: 3OeBSKAQAeg
2016-02-17 10:25:54 -08:00
Gregory Szorc
5b11b84e1d Bug 1245953 - Support defining non-build/test Task Cluster tasks; r=garndt
Currently, tasks are either "build" or "test" tasks. And "test" tasks
are dependent on "build" tasks, so they are effectively an extension of
"build" tasks.

Not everything is a "build" task. Not everything is associated with a
specific platform.

This commit introduces support for defining non-build "tasks" under the
"tasks" top-level element of a jobs YAML file. Interally, they are
treated as "build" tasks but are declared differently.

By default, all these tasks run.

The -j/--job argument has been added to the try syntax parser. It
specifies an opt-in list of these non-build tasks to run. By default, it
runs all of them.

The eslint-gecko "build" task has been moved to this new mechanism.

Documentation for the new task type have been added.

There is definitely some wonkiness in this implementation. For example,
there are references to "build_name," "build_type," and "build_product,"
which arguably are no longer relevant to generic tasks. However, they
appear to be so integrated into task processing (including route names)
that I'm a bit scared to change them.

MozReview-Commit-ID: BY219tLFb6Z
2016-02-17 10:25:25 -08:00
Gregory Szorc
d598f72ec9 Bug 1245953 - Convert TaskCluster docs to Sphinx; r=garndt
It is possible to hook up in-tree documentation to Sphinx. Convert the
one-off README.md to ReStructuredText and add it to the Sphinx docs.

I added a moz.build file under testing/ because I don't think it is
appropriate for the Sphinx directive to live in the root moz.build file.

MozReview-Commit-ID: 90tCb7mA63C
2016-02-17 10:24:06 -08:00