Commit Graph

104 Commits

Author SHA1 Message Date
Dustin J. Mitchell
b06dbb2895 Bug 1258497: Factor out some common code; r=gps
This code will also be used by taskgraph's legacy kind.

MozReview-Commit-ID: Gd4zZYEee2W
2016-05-09 18:58:11 +00:00
Dustin J. Mitchell
1a6a788fb6 Bug 1268862: expire try jobs in a shorter time-period than default; r=nthomas
MozReview-Commit-ID: KUe6Sk0122w
2016-05-05 21:19:42 +00:00
Dustin J. Mitchell
db6e8b524c Bug 1244189: add 'mach taskcluster-load-image'; r=garndt
The command helpfully downloads a docker image created by a taskcluster task,
which can be helpful when trying to replicate subtle bugs that only occur
in-tree.

This also fixes a bug in hashing Dockerfile directories, where the full
pathname was taken into account.  While this pathname is consistent from
decision task to decision task, it is not consistent with developers' home
directories.  This change omits the directory prefix, which will cause a
one-time shift in all directory hashes.

MozReview-Commit-ID: EamQzUGG5qY
2016-03-25 21:49:05 +00:00
Gregory Arndt
8852184523 Bug 1257619 - Add revision and revision_hash information to tasks r=dustin
MozReview-Commit-ID: KJEEO6oXDRh
2016-03-15 17:46:26 -05:00
Gregory Arndt
19815ffe44 Bug 1247085 - Generate empty graph when no try flags given r=wcosta
MozReview-Commit-ID: DOq9gJBTUY6
2016-02-29 09:51:17 -06:00
Gregory Arndt
b9d8288874 Bug 1252440 - Ignore unicode characters that cannot be converted when building graph r=wcosta
MozReview-Commit-ID: 5CxG7NMivBO
2016-03-01 07:41:27 -06: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
be18e0f2e7 Bug 1245953 - Print info on commits influencing scheduling; r=garndt
We're about to introduce a mechanism to influence which tasks run based
on what files change. To help debug what's happening, print out the list
of commits that influence the task selection.

MozReview-Commit-ID: Kfj2pf1PSIS
2016-02-16 15:00:52 -08:00
Gregory Szorc
aabf4e1612 Bug 1245953 - Query automationrelevance API instead of pushlog; r=garndt
Over in bug 1247802 we deployed a new JSON web API on hg.mozilla.org
that returns JSON metadata for changesets that are relevant for build
automation. It returns a superset of what is returned by the pushlog
JSON API. So we switch to it.

MozReview-Commit-ID: 6X3NANo1mgq
2016-02-16 16:01:39 -08:00
Gregory Szorc
d4320fbdb7 Bug 1245953 - Rename "push info" to "vcs info"; r=garndt
In preparation for adding more content that isn't strictly related to
pushlog info.

MozReview-Commit-ID: I4c8KAutUDm
2016-02-16 12:19:44 -08:00
Gregory Szorc
54d23d216c Bug 1245953 - Fail fast if no VCS info defined; r=garndt
Before, we attempted to build and query a URL that potentially had
"None" in it. This printed some wonky messages in the log and may have
contributed to added latency due to the HTTP request that was doomed to
fail.

MozReview-Commit-ID: JrR5PK33vCn
2016-02-16 12:19:13 -08:00
Gregory Szorc
15dd042e6e Bug 1245953 - Use requests for performing HTTP request; r=garndt
requests should *always* be used for performing HTTP requests because it
has a better API *and* has sane security defaults compared to the HTTP
request APIs in the Python standard library. Although, Python 2.7.9+
does have slightly saner defaults in the standard library. I still trust
requests more.

MozReview-Commit-ID: GqohpfYYGBw
2016-02-16 12:18:51 -08:00
Gregory Szorc
3061200833 Bug 1245953 - Rename query_pushinfo to query_vcsinfo; r=garndt
The function will soon query something that isn't limited to pushlog
info. Rename it accordingly.

MozReview-Commit-ID: 68UrMmLYARD
2016-02-16 12:18:41 -08:00
Armen Zambrano Gasparnian
418b9a21d0 Bug 1243039 - Allow, on try, to schedule TaskCluster test jobs multiple times. DONTBUILD. r=garndt 2016-01-29 10:00:45 -05:00
Dustin J. Mitchell
222a4efdb7 Bug 1240856: update cache whitelist for new cache names; r=garndt 2016-01-19 19:41:00 +00:00
Dustin J. Mitchell
c20869c86b Bug 1220684: use namespaced docker-worker caches; r=garndt
This adds a `--level` option to taskcluster-graph, and passes the level
supplied from mozilla-taskcluster.  It then substitutes that into cache names
for just about every cache (tooltool being the exception, as it verifies hashes
and is thus immune to poisoning).  The scopes for these new cache names are
already included in the relevant `moz-tree:level:*` roles.

This also strips `-c6` from cache names; I added this when we were
transitioning from the Ubuntu-based build images, to ensure I got clean caches.
It's no longer necessary.
2016-01-13 22:04:19 +00:00
Dustin J. Mitchell
d7113f1e5d Backed out changeset ea5f655fa812 2016-01-15 18:19:32 +00:00
Dustin J. Mitchell
b0bbb87064 Bug 1220684: use namespaced docker-worker caches; r=garndt
This adds a `--level` option to taskcluster-graph, and passes the level
supplied from mozilla-taskcluster.  It then substitutes that into cache names
for just about every cache (tooltool being the exception, as it verifies hashes
and is thus immune to poisoning).  The scopes for these new cache names are
already included in the relevant `moz-tree:level:*` roles.

This also strips `-c6` from cache names; I added this when we were
transitioning from the Ubuntu-based build images, to ensure I got clean caches.
It's no longer necessary.
2016-01-13 22:04:19 +00:00
Ted Mielczarek
5525f2c432 bug 1238009 - in-tree tasks should link their source to the yml file they were generated from. r=dustin 2016-01-08 10:34:25 -05:00
Gregory Szorc
620a7afdf2 Bug 1237739 - Use set and sort graph scopes; r=garndt
We're already casting the list of scopes to a set later. So we might as
well use a set from the beginning.

While we're here, sort the final value so output is more deterministic
and easier to read. This sort shouldn't matter since the existing set()
would have lost ordering.
2016-01-07 12:37:14 -08:00
Gregory Szorc
5153067a0e Bug 1237739 - Sort keys in generated graph; r=garndt
Deterministic output is easier to read and test. We're not fully
deterministic with this patch, but it's a start.
2016-01-07 12:26:12 -08:00
Gregory Arndt
152c471925 Bug 1237013 - Add pushdate to taskcluster-build mach target r=wcosta 2016-01-05 13:34:30 -06:00
Edgar Chen
f4234bdfa6 Bug 1200928 - Part 2: [Taskcluster] Use correct busybox binary for x86/arm emulator when running xpcshell tests. r=garndt 2015-11-17 16:05:01 +08:00
Edgar Chen
b39bf9a998 Bug 1200928 - Part 1: Iterate over all the things in task.extra.locations and build out the test_parameter. r=garndt 2015-11-17 16:07:59 +08:00
Wander Lairson Costa
b8610055ce Bug 1231689: Fix mach taskcluster-build command. r=garndt 2015-12-10 16:48:26 -05:00
Gregory Arndt
460d156dd7 Bug 1227355 - Configure b2g-ota branch and add update channel r=wcosta a=b2g-otaneedsthis 2015-11-30 20:48:01 -06:00
Gregory Arndt
331e4b4d5b Bug 1226413 - Allow task images to be built upon push r=wcosta 2015-11-16 12:01:15 -06:00
Alexandre Poirot
8907b885a6 Bug 1213011 - Allow post-build tasks to use build_{name,type,product} variables. r=garndt 2015-10-28 09:56:17 -07:00
Andrew Halberstadt
200cd93f14 Bug 1171033 - Add taskcluster linux64 test configs (but not scheduled anywhere yet), r=dustin
This adds test configs for desktop linux64 unittests, including: mochitest-plain,
mochitest-browser-chrome, mochitest-devtools-chrome, reftest and xpcshell. It
also does a minor refactor of the b2g configs to remove some b2g-specific logic
from the base 'test.yml' config.

This does *not* schedule these tests anywhere just yet.
2015-10-15 15:35:45 -04:00
Andrew Halberstadt
da82c009a0 Backout 11ba4c03d205 for gecko decision bustage 2015-10-23 11:20:48 -04:00
Andrew Halberstadt
076dbdfb0e Bug 1171033 - Add taskcluster linux64 test configs (but not scheduled anywhere yet), r=dustin
This adds test configs for desktop linux64 unittests, including: mochitest-plain,
mochitest-browser-chrome, mochitest-devtools-chrome, reftest and xpcshell. It
also does a minor refactor of the b2g configs to remove some b2g-specific logic
from the base 'test.yml' config.

This does *not* schedule these tests anywhere just yet.
2015-10-15 15:35:45 -04:00
Mike Shal
7ae5d4a284 Bug 1212942 - Add pushdate routes; r=garndt,jlund 2015-10-09 09:26:34 -04:00
Mike Shal
34da8d22c2 Bug 1215157 - Add --dry-run to mach taskcluster-graph; r=garndt 2015-10-14 11:26:35 -04:00
Mike Shal
272f579dd3 Bug 1214760 - prevent multiple tasks from using the same route in the gecko.v2 namespace; r=jonasfj 2015-10-14 10:42:29 -04:00
Andrew Halberstadt
af411d8624 Bug 1213283 - Add option to only print task names in |mach taskcluster-graph|, r=dustin 2015-10-09 10:03:48 -04:00
Alexandre Poirot
ba01dcfb64 Bug 1207653 - Pass build_url/img_url to post-build tasks. r=garndt 2015-09-29 03:02:48 -07:00
Edgar Chen
cd1347d243 Bug 1188330 - Use intree mozharness for taskcluster tests. r=dustin,garndt,wcosta 2015-09-04 17:01:36 +08:00
Wander Lairson Costa
62a566a314 Bug 1205574: Fix cache name typo in try white list. r=garndt
s/tc-vcs-public-source/tc-vcs-public-sources/.
2015-09-17 14:24:24 +02:00
Ehsan Akhgari
784802391a Bug 1204346 - Add a white-list of caches for try server jobs; r=garndt 2015-09-14 22:27:11 -04:00
Wander Lairson Costa
d4101c31e8 Bug 1201372: Remove workspace caches for try builds. r=garndt
Try build are supposed to always be clobbered, so we remove workspace
caches for them.
2015-09-11 17:43:20 -03:00
Peter Moore
85d6816a91 Bug 1194767 - use slugid 1.0.6 in ./mach taskcluster-graph command. r=wcosta
This included adding the slugid 1.0.6 python source code in /python since slugid
is now a dependency of the ./mach taskcluster-graph command, as well us updating
references that used it. Previously the implementation was in-tree.
2015-09-04 17:59:34 +02:00
Wander Lairson Costa
405d800d0a Bug 1200688: Support --interactive command line option r=jonasfj
taskcluster-graph and taskcluster-build mach command now has the
--interactive option and try supports the "-i" flag.

This makes all tasks interactive.
2015-09-03 17:08:50 -03:00
Dustin J. Mitchell
aa52306650 Bug 1185643: use in-tree mozharness for builds; r=wander
This required moving the custom mozharness configs out of the builder image
(which puts them in ~, where mozharness no longer looks) and moving them into
mozharness itself.
2015-07-27 15:21:15 -04:00
Mike Shal
07a9e8d31c Bug 1133074 - Make the gecko.v2 routes public; r=jlund,garndt 2015-08-17 10:29:34 -04:00
Mike Shal
0ec5b9977a Bug 1133074 - Use routes.json for Taskcluster routes; r=garndt 2015-07-27 15:31:23 -04:00
Carsten "Tomcat" Book
06a67a3d88 Backed out changeset e3c15b9f89b3 (bug 1185643) for possibly breaking mulet tests on a CLOSED TREE 2015-07-28 17:06:19 +02:00
Dustin J. Mitchell
a8e53b5fec Bug 1185643: use in-tree mozharness; r=wander r=mrrrgn
This required moving the custom mozharness configs out of the builder image
(which puts them in ~, where mozharness no longer looks) and moves them into
mozharness itself.
2015-07-27 15:21:15 -04:00
Wander Lairson Costa
c6914e0c0a Bug 1187706 part 2: Cleanup mozharness stuff. r=garndt
Now that mozharness is in tree, we don't need references to mozharness
repositories and revisions.

We don't cleanup all mozharness stuff because android and desktop builds
still references external mozharness.
2015-07-26 15:58:57 -03:00
Anthony Miyaguchi
16ce9e37da Bug 1168979 part 5 - Add allowed_build_tasks to distinguish builds that require symbol uploading; r=mrrrgn 2015-07-09 14:47:34 -07:00
Anthony Miyaguchi
836ca82095 Bug 1168979 part 4 - Factor out building dependent tasks as a function; Create a task/post-builds for upload_symbols to live in; r=mrrrgn 2015-07-08 15:55:30 -07:00