Commit Graph

51 Commits

Author SHA1 Message Date
Brian Stack
3437e4d2f2 Bug 1275774 - Fix taskcluster how-to docs example command r=dustin
MozReview-Commit-ID: 8gFeRHeSRd8
2016-09-16 13:46:03 -07:00
Jordan Lund
d7abba7219 Bug 1302590 - remove nightly-fennec kind. use build kind for nightlies, r=dustin
* add fennec nightly build to job whitelist

MozReview-Commit-ID: F8MCUWwlFYD
2016-09-16 01:20:38 -07:00
Iris Hsiao
b7ad0a7f43 Backed out changeset 1b269fb8a704 (bug 1302590) for Gecko Decision Task bustage 2016-09-20 10:59:19 +08:00
Jordan Lund
1775ca5682 Bug 1302590 - remove nightly-fennec kind. use build kind for nightlies, r=dustin
MozReview-Commit-ID: F8MCUWwlFYD
2016-09-16 01:20:38 -07:00
Dustin J. Mitchell
bfb63b08e4 Bug 1286075: add how-tos covering new functionality; r=gps
MozReview-Commit-ID: 5l6v81UKskC
2016-09-09 21:29:27 +00: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
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
768a5716b6 Bug 1286075: introduce job descriptions and implementations; r=gps
MozReview-Commit-ID: HNXPjt3XnXe
2016-09-12 15:53:14 +00:00
Dustin J. Mitchell
fee709d273 Bug 1286075: add more functionality to the task description; r=mshal
The task description now includes

 * flexible specification of index routes (this will get simpler once buildbot
   and gecko.v1 routes are removed)

 * "run-on-projects", indicating the projects on which this task should run

 * "{level}" is allowed in workerTypes

 * For the docker-worker/docker-engine worker implementations, "docker-image"
   can have the form {in-tree: in-tree-name} to use an in-tree image.  This was
   previously implemented in the test transforms, but it is useful for other
   tasks too!

 * Optimizations, currently limited to "only-if-files-changed", can be specified
   for each task.

 * TreeHerder groupSymbol is optional

 * expires-after and and deadline-after have default values (with the former
   differing for try and non-try)

 * coalesce-name triggers creation of both a coalesce route and a superseder URL

MozReview-Commit-ID: 70vtYs5lz5P
2016-09-12 15:51:49 +00:00
Dustin J. Mitchell
c6bd386b78 Bug 1286075: rename taskgraph.transforms.make_task; r=wcosta
Rename to taskgraph.transforms.task.

This also adds some Required and Optional declarations to the schema to be explicit,
and adjusts the transform to handle treeherder being optional.

MozReview-Commit-ID: FuKYayvlwB9
2016-08-31 15:24:54 +00:00
Dustin J. Mitchell
e007d2ba82 Bug 1294065: describe transitive closure; r=garndt
MozReview-Commit-ID: GYPKA81gkJP
2016-08-10 14:37:32 +00:00
Dustin J. Mitchell
3abcfe9038 Bug 1293733: accept pushdate from command line; r=garndt
MozReview-Commit-ID: BrGiowlMVCa
2016-07-13 18:50:50 +00:00
Gregory Szorc
b671404cef Backed out changeset fc1ed3fd8584 (bug 1291473) on suspicion of breaking decision tasks 2016-08-08 13:15:37 -07:00
Dustin J. Mitchell
f2b47e6e61 Bug 1291473: accept pushdate from command line; r=garndt
MozReview-Commit-ID: BrGiowlMVCa
2016-07-13 18:50:50 +00:00
Dustin J. Mitchell
6c17c48ab8 Bug 1290523: support generic-worker task descriptions; r=pmoore
MozReview-Commit-ID: CHIGSrB1MIu
2016-07-29 17:50:09 +00:00
Armen Zambrano Gasparnian
fc88d2a64f Bug 1279676 - Support --rebuild try flag to schedule tests N times. r=dustin
MozReview-Commit-ID: Lrxi8t53nwy

If a developer adds '--rebuild N' to their try syntax they will get test jobs scheduled N times.
This is useful to determine intermittency rate.

This fixes a regression due to the recent refactoring on how we schedule tasks.
2016-07-28 13:20:44 -04:00
Gregory Szorc
0906476362 Bug 1289643 - Change path for checkouts from "workspace" to "checkouts"; r=dustin
Currently, TaskCluster tasks tend to use the "workspace" directory as
a cache that manages the source checkout *and* additional state.

Historically at Mozilla, we've lumped "source checkout" and "workspace"
(sometimes known as an "objdir") into the same directory. This is
not ideal. Ideally, there is an immutable, read-only source checkout
and all files produced from that source live in a separate directory.

In this commit, the "workspace" directory for the "lint" image has been
renamed to "checkouts" and all tasks using the image have been updated
accordingly. By having "checkout" in the name, we clearly identify this
cache as being relevant to source checkouts, which IMO can serve a
different role from "workspaces." This distinction is important, as the
next commit will prevent the "checkouts" cache from getting optimized
out in certain tasks.

To hammer this point home, documentation on common caches has been
introduced.

MozReview-Commit-ID: BSEc4dM5YCt
2016-07-29 10:44:19 -07:00
Gregory Szorc
47830cf2f1 Bug 1288567 - Add special Dockerfile syntax to add arbitrary files to context; r=dustin
A limitation of traditional docker build context generation is it
only includes files from the same directory as the Dockerfile. When
repositories have multiple, related Dockerfiles, this limitation
results file duplication or putting all Dockerfiles in the same
directory (which isn't feasible for mozilla-central since they would
need to be in the root directory).

This commit enhances Dockerfiles to allow *any* file from the
repository checkout to be ADDed to the docker build context.

Using the syntax "# %include <path>" you are able to include paths
or directories (relative from the top source directory root) in the
generated context archive. Files add this way are available under the
"topsrcdir/" path and can be ADDed to Docker images.

Since context archive generation is deterministic and the hash of
the resulting archive is used to determine when images need to be
rebuilt, any extra included file that changes will change the hash
of the context archive and force image regeneration.

Basic tests for the new feature have been added.

MozReview-Commit-ID: 4hPZesJuGQV
2016-07-21 16:51:30 -07: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
Kalpesh Krishna
701956d8fb Bug 1281062 - Create Action Tasks to schedule new jobs. r=dustin
MozReview-Commit-ID: 5MvqLfGrlLC
2016-07-11 22:43:58 +05:30
Kalpesh Krishna
de61f99d07 Bug 1285755 - Adding a from_json function to TaskGraph and each Task subclass. r=dustin
MozReview-Commit-ID: 8fmALSP8nDs
2016-07-11 22:39:04 +05:30
Kalpesh Krishna
7baed7fa64 Bug 1284005 - Replacing timestamps with relative timestamps. r=dustin 2016-07-06 03:03:00 +02:00
Ryan VanderMeulen
fbc5bb978a Backed out changeset 320ee1117179 (bug 1284005) for gecko-decision task failures. 2016-07-07 00:16:45 -04:00
Kalpesh Krishna
e445873925 Bug 1284005 - Replace timestamps with relative timestamps. r=dustin 2016-07-06 03:03:00 -04:00
Carsten "Tomcat" Book
755e48f06f Backed out changeset 8c9ee38712de (bug 1284005) for gecko-decision task failures 2016-07-07 05:56:00 +02:00
Kalpesh Krishna
991c8ee838 Bug 1284005 - Replacing timestamps with relative timestamps. 2016-07-06 03:03:00 +02:00
Carsten "Tomcat" Book
581d622731 Backed out changeset cc4009e9cecc (bug 1284005) for causing merge conflicts when merging to m-c 2016-07-06 11:49:59 +02:00
Kalpesh Krishna
63ef054262 Bug 1284005 - Replacing timestamps with relative timestamps. r=dustin 2016-07-05 11:50:50 -07:00
Dustin J. Mitchell
6d42f5dc86 Bug 1229178: modify --json output to contain a single object r=mshal
MozReview-Commit-ID: DNlxPfQh3o0
2016-06-09 11:15:23 -05:00
Dustin J. Mitchell
9a56719bd1 Bug 1280231: Load kinds in order by dependencies; r=jonasfj
This enables kinds that generate tasks based on those output by another kind.
For example, the test kind might generate a set of test tasks for each build
task.

MozReview-Commit-ID: K7ha9OmJ6gd
2016-06-27 22:31:06 +00:00
Wes Kocher
d3e226b5f1 Backed out 3 changesets (bug 1280231) for decision task failures CLOSED TREE
Backed out changeset 4b1d94901b4d (bug 1280231)
Backed out changeset 7898d1ab1afc (bug 1280231)
Backed out changeset ba5cbf4e06a5 (bug 1280231)
2016-06-27 15:45:44 -07:00
Dustin J. Mitchell
afbf045084 Bug 1280231: Load kinds in order by dependencies; r=jonasfj
This enables kinds that generate tasks based on those output by another kind.
For example, the test kind might generate a set of test tasks for each build
task.

MozReview-Commit-ID: K7ha9OmJ6gd
2016-06-27 22:31:06 +00:00
Dustin J. Mitchell
7da417dd6d Bug 1280691: remove old decision tasks and references to them; r=garndt
MozReview-Commit-ID: 3o1nz7sP0j1
2016-06-20 18:33:05 +00:00
Gregory Arndt
02dc4d8855 Bug 1280129 - Update tasks to use v2 treeherder routes r=dustin
Jobs reporting to treeherder should rely on the task route for project,
revision, and pushlog ID rather than things stuffed into task.extra.treeherder.

This also removes the need for a revision_hash that was calculated by mozilla-taskcluster.

MozReview-Commit-ID: EcQM9QRZzgG
2016-06-14 12:56:25 -05:00
Dustin J. Mitchell
2ccf79973b Bug 1275409: move templates to taskgraph.util; r=wcosta
MozReview-Commit-ID: 3vdnm20W4OD
2016-06-05 18:34:22 +00:00
Dustin J. Mitchell
6df2fabd03 Bug 1277417: output task information in JSON or just labels; r=ahal
The JSON output is suitable for processing with `jq` to extract features of
interest.

MozReview-Commit-ID: 5wpV7sXlOz3
2016-06-07 03:09:48 +00:00
Dustin J. Mitchell
ee0ff9e682 Bug 1274611: implement docker image builds as a distinct kind; r=wcosta
MozReview-Commit-ID: 81Ad9LcBdx6
2016-06-05 19:15:53 +00:00
Dustin J. Mitchell
833bb86436 Bug 1274611: Implement task-graph optimization; r=gps
* Implement & document optimization (although legacy kind doesn't do much of it)
 * Introduce `optimize_target_tasks` parameter to control whether tasks in the
   target set can be optimized (no for try, yes for most other branches)
 * Refactor to include resolved taskIds in the optimized task graph
 * Include a `label-to-taskid.json` artifact.
 * Introduce {'task-reference': '... <dependency-name> ...'} for referring to
   parent tasks' taskId.

MozReview-Commit-ID: LWvlWNz49U5
2016-06-05 19:49:41 +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