Commit Graph

73 Commits

Author SHA1 Message Date
Dustin J. Mitchell
221a0134dd Bug 1473636: clarify arguments to action callbacks; r=tomprince
MozReview-Commit-ID: j3OiNkjngD
2018-07-05 17:07:40 +00:00
Nick Thomas
c64930d816 Bug 1415868 - fix test-action-callback after rev e2931d904975, r=dustin
MozReview-Commit-ID: LlUQHanvVng
2018-06-21 16:15:46 +12:00
Brian Stack
87fa7d34ca Bug 1465117 - Take two at updating backfill task. Use modifier this time. r=dustin,jmaher
MozReview-Commit-ID: CAs0WRb839r
2018-06-08 12:08:34 -07:00
Ciure Andrei
946e22617d Backed out 1 changesets (bug 1465117) for fix_task_dependencies not working as expected a=backout
Backed out changeset 3d3fe54d0cb6 (bug 1465117)
2018-06-08 00:00:20 +03:00
Brian Stack
068cd4f381 Bug 1465117 - Add additional options to backfilling action task r=dustin,jmaher
MozReview-Commit-ID: FMGjhQbg4im
2018-06-01 16:44:16 -07:00
Dustin J. Mitchell
a9c07a468b Bug 1415868 - remove ACTION_TASK r=jonasfj,tomprince
For kind=hook, the spec doesn't include this value as it's untrustworthy.

For kind=task, it's still untrustworthy, but there is no privilege escalation
so that's not important. Still, it dramatically expands the size of the task
definition.

MozReview-Commit-ID: 6scQ2ZwxP10
2018-04-27 22:24:42 +00:00
Dustin J. Mitchell
b17138b7da Bug 1415868 - add 'mach taskgraph actions'; r=jonasfj,tomprince
MozReview-Commit-ID: ExVRgcD02GK
2018-04-23 21:14:14 +00:00
Gregory Szorc
72c3e2770c Bug 1460475 - Install zstandard 0.9.0 in mach; r=dustin
The latest python-zstandard uses a newer zstandard that is faster.
It also has wheels available, which means installation doesn't require
Python development headers, etc.

MozReview-Commit-ID: 5gRq81KYmX4
2018-05-09 20:13:28 -07:00
Tom Prince
1b6713d6c5 Bug 1456379: Remove references to date branch; r=aki
Differential Revision: https://phabricator.services.mozilla.com/D1028
2018-01-23 14:48:27 -07:00
Tom Prince
0b3a4ddc4b Bug 1418058: [taskcluster] Load graph configuration for the correct project when running actions; r=dustin
Differential Revision: https://phabricator.services.mozilla.com/D914
2018-04-11 12:02:19 -06:00
Tom Prince
30024d01bd Bug 1447460: Teach mach taskgraph cron to handle configuration in sub-repositories; r=dustin
Differential Revision: https://phabricator.services.mozilla.com/D815
2018-03-28 11:34:20 -07:00
Tom Prince
3c772a10e3 Bug 1447460: Mark some obsolete mach taskgraph cron parameters as ignored; r=dustin
Differential Revision: https://phabricator.services.mozilla.com/D814
2018-03-27 10:30:02 -07:00
Dustin J. Mitchell
c921c87585 Bug 1437710: fix spelling of zstd; r=gps
MozReview-Commit-ID: 8bSU61Lvh0T
2018-02-12 23:32:11 +00:00
Mike Hommey
4205149863 Bug 1432390 - Make mach taskcluster-build-image talk directly to the docker socket in the image builder. r=dustin
Now that `mach taskcluster-build-image` can, we can avoid all the manual
handling based on curl and jq in the image builder.

An additional advantage on relying on `mach taskcluster-build-image`
doing more is that less changes to the build-image.sh script will be
necessary, and thus less updates of the image builder docker image.
2018-01-25 13:36:47 +09:00
Mike Hommey
dc67eb5cba Bug 1432390 - Use zstandard and requests modules instead of spawning curl | zstd in docker.load_image. r=dustin
The zstd command we spawn, if available at all, might be the wrong
version: zstd changed its stream format in an incompatible way at some
point, and the version shipped in e.g. Ubuntu 16.04 uses the old format,
while the version taskcluster relies on uses the new format.

Relying on gps's zstandard library allows to ensure we use the right
version. Another advantage is that we can trivially pip install it in a
virtualenv if it isn't available on the system running the command.

If we're ridding ourselves of the subprocess spawning for zstd, we might
as well cover curl as well. Especially considering the error handling
when subprocesses are involved is not trivial, such that the current
error handling code is actually broken and leads to dead-lock
conditions, when, for example, curl is still waiting for the python side
to read data, but the python side is not reading data anymore because
an exception was thrown in the tar reading loop.
2018-01-24 11:18:13 +09:00
Mike Hommey
e44088c7ce Bug 1419638 - Allow to pass arguments to docker when building docker-images. r=dustin
Ideally, we'd simply use the --build-arg docker argument along with ARG
in the Dockerfile, but that's only supported from Docker API 1.21, and
we're stuck on 1.18 for the moment.

So we add another hack to how we handle the Dockerfile, by adding a
commented syntax that allows to declare arguments to the Dockerfile.

The arguments can be defined in the docker images kind.yml file through
the `args` keyword. Under the hood, they are passed down to the docker
image task through the environment. The mach taskcluster-build-image
command then uses the corresponding values from the environment to
generate a "preprocessed" Dockerfile for its context.
2017-12-24 07:51:29 +09:00
Chris AtLee
b5d207e824 Bug 1420449: Add mach taskgraph -F/--fast r=ahal
Initially this will skip toolchain task optimizations, which avoids hashing
local directory contents and speeds up taskgraph generation by about 25%.

MozReview-Commit-ID: B4LB5BV86nw
2017-11-30 12:07:02 -05:00
Tom Prince
160af2aea5 Bug 1421036: Display task labels by default when running mach taskgraph optimized; r=dustin
MozReview-Commit-ID: 4sMl5a02NCE
2017-11-27 13:26:14 -07:00
Tom Prince
ce22bb732b Bug 1421002: Add an option to control where to find the try_task_config. r=dustin
MozReview-Commit-ID: ntC1fJOidr
2017-11-21 11:26:56 -07:00
Aki Sasaki
c121be27ac bug 1397552 - add a release promotion action. r=bstack
Add a release promotion custom action for releng's TC release promotion migration work.

This action generates a graph dependent on previously built tasks. To track these, we add the `do_not_optimize` and `existing_tasks` parameters. The `do_not_optimize` parameter specifies tasks that we want to explicitly exclude from taskgraph optimization. The `existing_tasks` parameter specifies a label-to-taskid map for tasks from previous graphs.

MozReview-Commit-ID: 1vKrNUavM4V
2017-10-24 15:28:19 -07:00
Tom Prince
25e12b05a3 Bug 1385055 - Add some taskgraph parameters for dealing with comm-central and related repositories. r=dustin
MozReview-Commit-ID: 4tdxfJcx8Fz
2017-07-27 12:26:48 -06:00
Brian Stack
666b3098bc Bug 1406177 - Remove action.yml now that it is unused r=garndt
MozReview-Commit-ID: IIX125xFoMx
2017-10-05 14:47:15 -07:00
Simon Fraser
0ab9dada04 Bug 1342392 Migrate partial update generation in-tree r=rail
MozReview-Commit-ID: G6EFXY0UzSa
2017-09-18 13:36:36 +01:00
Sebastian Hengst
f1bbda3eeb Backed out changeset 0d71c0be62de (bug 1342392) for bustage in partial update generator for docker images: recompress.sh not found. r=backout 2017-09-18 14:15:42 +02:00
Simon Fraser
d2b8ac4d0d Bug 1342392 Migrate partial update generation in-tree r=rail
MozReview-Commit-ID: 84fP48sMYhS
2017-09-15 11:04:35 +01:00
Sebastian Hengst
ca434b9d52 Backed out changeset a43387ee65d7 (bug 1342392) for failing flake8 and py-compat jobs. r=backout 2017-09-18 13:50:16 +02:00
Simon Fraser
498d6b87a7 Bug 1342392 Migrate partial update generation in-tree r=rail
MozReview-Commit-ID: 84fP48sMYhS
2017-09-15 11:04:35 +01:00
Wes Kocher
d62fefa0af Backed out 2 changesets (bug 1342392) for bustage a=backout
Backed out changeset b0e86286b173 (bug 1342392)
Backed out changeset 01bf0c29331e (bug 1342392)

MozReview-Commit-ID: 71fcOZ2RgEp
2017-09-11 17:35:09 -07:00
Simon Fraser
278648e798 Bug 1342392 Move partial update generation in-tree r=dustin,jlorenzo 2017-09-11 09:55:52 +01:00
Sebastian Hengst
27461f48cf Backed out 2 changesets (bug 1342392) for adding .orig file and flake lint failures. r=backout on a CLOSED TREE
Backed out changeset bf0bcdc7482e (bug 1342392)
Backed out changeset 7f5ae5ff1181 (bug 1342392)
2017-09-11 10:38:08 +02:00
Simon Fraser
e9d9241564 Bug 1342392 Move partial update generation in-tree r=dustin,jlorenzo 2017-09-11 09:24:10 +01:00
Brian Stack
5d5a9cecb1 Bug 1384729 - Move actions into taskgraph dir r=dustin
MozReview-Commit-ID: HK5MR8Xw3On
2017-07-27 10:47:37 -07:00
Dustin J. Mitchell
59683ed287 Bug 1382707: fix typo 'tsak_id'; r=bstack
MozReview-Commit-ID: 2PhnJojQK8I
2017-07-20 19:47:32 +00:00
Dustin J. Mitchell
c886b93115 Bug 1382707: add ./mach taskgraph test-action-callback; r=bstack
MozReview-Commit-ID: 64kBJGLarY3
2017-07-20 17:11:28 +00:00
Andrew Halberstadt
1fa6d38726 Bug 1380338 - Convert taskgraph unit tests to the |mach python-test| framework, r=dustin
These tests can now be run with:
./mach python-test taskcluster/taskgraph

or:
./mach python-test taskcluster

They can now run in parallel by passing in -j.

MozReview-Commit-ID: JXeZV8B04Sf
2017-07-12 10:47:14 -04:00
Sebastian Hengst
dcede17763 Backed out changeset 54e4545b0fe0 (bug 1380338) for breaking spidermonkey pkg due to failing to process taskgraph/test/python.ini. r=backout 2017-07-12 19:18:46 +02:00
Andrew Halberstadt
98b4a9d6fe Bug 1380338 - Convert taskgraph unit tests to the |mach python-test| framework, r=dustin
These tests can now be run with:
./mach python-test taskcluster/taskgraph

or:
./mach python-test taskcluster

They can now run in parallel by passing in -j.

MozReview-Commit-ID: JXeZV8B04Sf
2017-07-12 10:47:14 -04:00
Andrew Halberstadt
87d4a15ff3 Bug 1378212 - Default to grabbing 'parameters.yml' file from latest mozilla-central decision task, r=dustin
MozReview-Commit-ID: 1993ISgb1Dn
2017-07-04 16:10:05 -04:00
Dustin J. Mitchell
9035033b90 Bug 1351011: remove unused triggered_by property; r=Callek
The purpose of this parameter has been superseded by the `include_nightly`
property.

MozReview-Commit-ID: 4iXQsv9Drqg
2017-03-27 20:10:08 +00:00
Dustin J. Mitchell
cef5efbeff Bug 1333255: introduce graph morphs, use them to make index tasks; r=jonasfj
Graph morphs modify the graph after optimization, without changing its meaning.
In this case, that means adding index tasks that will insert paths into the
index beyond the relatively limited number afforded in task.routes.

MozReview-Commit-ID: AJy4exX7q2v
2017-03-07 20:39:27 +00:00
Mike Hommey
59882266b7 Bug 1341214 - Add a small API to handle taskcluster queue and index requests. r=dustin
Various modules under taskcluster are doing ad-hoc url formatting or
requests to taskcluster services. While we could use the taskcluster
client python module, it's kind of overkill for the simple requests done
here. So instead of vendoring that module, create a smaller one with
a limited set of functions we need.

This changes the behavior of the get_artifact function to return a
file-like object when the file is neither a json nor a yaml, but that
branch was never used (and was actually returning an unassigned
variable, so it was broken anyways).

At the same time, make the function that does HTTP requests more
error-resistant, using urllib3's Retry with a backoff factor.

Also add a function that retrieves the list of artifacts, that while
currently unused, will be used by `mach artifact` shortly.
2017-02-17 12:04:48 +09:00
Jonas Finnemann Jensen
03d3467e30 Bug 1341727 - Setup logging in ./mach taskgraph action-callback. r=dustin,wlach
MozReview-Commit-ID: LLSU87IofRh
2017-02-23 18:33:38 -08:00
Carsten "Tomcat" Book
711501d98d Backed out changeset 5ffd6c7264ce (bug 1341214) 2017-02-22 15:33:17 +01:00
Mike Hommey
c7945d8ea1 Bug 1341214 - Add a small API to handle taskcluster queue and index requests. r=dustin
Various modules under taskcluster are doing ad-hoc url formatting or
requests to taskcluster services. While we could use the taskcluster
client python module, it's kind of overkill for the simple requests done
here. So instead of vendoring that module, create a smaller one with
a limited set of functions we need.

This changes the behavior of the get_artifact function to return a
file-like object when the file is neither a json nor a yaml, but that
branch was never used (and was actually returning an unassigned
variable, so it was broken anyways).

At the same time, make the function that does HTTP requests more
error-resistant, using urllib3's Retry with a backoff factor.

Also add a function that retrieves the list of artifacts, that while
currently unused, will be used by `mach artifact` shortly.
2017-02-17 12:04:48 +09:00
Jonas Finnemann Jensen
c8c1bd5578 Bug 1332506 - Treeherder actions defined in-tree. r=dustin
Framework for defining actions in-tree that can be displayed
and triggered from Treeherder.

MozReview-Commit-ID: 3rvwgy2i4xu
2017-01-31 15:34:05 -08:00
Brian Stack
ef15d28248 Bug 1289824 - Add "add-talos" taskgraph action r=jmaher
MozReview-Commit-ID: A5KVIgAZccV
2017-01-11 11:13:19 -05:00
Dustin J. Mitchell
0064836f97 Bug 1252948: support for periodic taskgraphs; r=Callek,jonasfj,kmoir
This adds `.cron.yml` and a new mach command to interpret it.  While
functionality is limited to nightlies right now, there is room to expand to
more diverse periodic tasks.  Let your imagination run wild!

MozReview-Commit-ID: KxQkaUbsjQs
2017-01-18 19:45:53 +00:00
Dustin J. Mitchell
c7fb42028c Bug 1252948: remove unused --revision-hash; r=garndt
MozReview-Commit-ID: CN6RNDaERJ2
2016-12-21 20:54:17 +00:00
Brian Stack
5e07795db3 Bug 1289823 - Add backfilling as an action-task r=armenzg,dustin
MozReview-Commit-ID: HALwE6Q0Lch
2016-12-07 13:33:20 -10:00
Gregory Szorc
49ecc723ac Bug 1318200 - Obtain target tasks method from parameters; r=dustin
Previously, all callers outside of tests that passed
"target_tasks_method" to TaskGraphGenerator all used the same pattern
of looking for a key in the parameters and calling a function in
the target_tasks module.

Future commits will refactor how target tasks graph work. To
make the transition easier, we move the logic for obtaining the
target tasks method into TaskGraphGenerator.

MozReview-Commit-ID: 3QU09iGhoXh
2016-11-17 16:29:51 -08:00