Commit Graph

12 Commits

Author SHA1 Message Date
Dustin J. Mitchell
1c449ca5e0 Bug 1286075: add support for optimizing based on files changed in the push; r=gps
MozReview-Commit-ID: 5di7TuL9X2P
2016-09-12 18:40:12 +00:00
Dustin J. Mitchell
8a0e51cbdf Bug 1286075: use pushdate from params for docker images; r=garndt
MozReview-Commit-ID: 6m3phQuvche
2016-08-27 03:17:55 +00:00
Gregory Szorc
8b7863b618 Bug 1291070 - Return process exit code properly; r=glandium
Before, we were returning None, which gets converted to 0.
Derp.

Also fix a flake8 failure introduced by 9f5fbb3066c9.

We'll also need to generate a new decision image. But that will
require someone with TC privileges to be around. That can be done
in a separate commit to unblock this from landing and fixing
consumers of run-task that aren't the decision image.

MozReview-Commit-ID: 6XuoIxjDozF
2016-08-01 21:44:22 -07:00
Iris Hsiao
46d8c7256d Backed out changeset 51f838971d62 (bug 1291070) for Taskgraph test failure 2016-08-02 17:24:25 +08:00
Gregory Szorc
c7cc83cab4 Bug 1291070 - Return process exit code properly; r=glandium
Before, we were returning None, which gets converted to 0.
Derp.

Also fix a flake8 failure introduced by 9f5fbb3066c9.

We'll also need to generate a new decision image. But that will
require someone with TC privileges to be around. That can be done
in a separate commit to unblock this from landing and fixing
consumers of run-task that aren't the decision image.

MozReview-Commit-ID: 6XuoIxjDozF
2016-08-01 21:44:22 -07:00
Armen Zambrano Gasparnian
94c83ece46 Bug 1288742 - Increase expiration date of all gecko decision artifacts bar image context tar balls. r=dustin
Until now Gecko decision task artifacts would expire after a week. Unfortunately, some of these artifacts are
needed in order for Treeherder to determine which tasks it can schedule on a given push.

In this change, we're changing the expiration of all artifacts except those that are related to docker image
optimizations, which, are very large files and we only want to keep for a week.

MozReview-Commit-ID: 96ahyWmoI7W
2016-07-27 10:51:38 -04:00
Gregory Szorc
3b60ffe817 Bug 1288567 - Inline create_context_tar; r=dustin
The function was only used once and was providing little to no value.

A test of this function has been removed. Tests for the lower-level
context creation function are sufficient.

MozReview-Commit-ID: D9EhmZQlqG5
2016-07-25 11:48:20 -07:00
Gregory Szorc
1498dcf793 Bug 1288567 - Use create_context_tar in generate_context_hash; r=dustin
This restores order to only having a single hash for a context
directory.

Using a tempfile here is a bit unfortunate. It can be optimized later,
if needed.

MozReview-Commit-ID: LMNsvt3fDYx
2016-07-22 12:46:06 -07:00
Gregory Szorc
36815a04ba Bug 1288567 - Pass topsrcdir into create_context_tar; r=dustin
Relying on global variables like GECKO is a bit dangerous. To facilitate
testing of archive generation in subsequent commits, let's pass an
path into this function.

The argument is currently unused.

MozReview-Commit-ID: Et1UYraflDP
2016-07-22 10:32:58 -07:00
Gregory Szorc
02fdce0d32 Bug 1288567 - Use context hash of tar file; r=dustin
Now that tar file generation is deterministic, we can use the hash
of the created archive rather than the hash of the files that are
(presumably) in the archive.

This temporarily breaks consistent hashing by using independent
hashing mechanisms. This will be cleaned up in a subsequent commit.

MozReview-Commit-ID: CWooVGfDKZO
2016-07-22 10:24:08 -07:00
Gregory Szorc
a2c28611f0 Bug 1288567 - Extract function for creating context tars; r=dustin
Upcoming commits will refactor how context tarballs are created. In
preparation for this, we establish a standalone function for creating
context tarballs and refactor docker_image.py to use it.

MozReview-Commit-ID: KEW6ppO1vCl
2016-07-22 10:20:06 -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