Граф коммитов

1400 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey 4c676f87cd Bug 1430984 - Drive-by: Move debian package jobs defaults to kind.yml. r=dustin
--HG--
extra : rebase_source : 7a395a777f4221f0b1e1e393e1b34112f36f972c
2018-01-11 07:24:11 +09:00
Mike Hommey f7984c551b Bug 1430037 - Use sparse checkouts for docker image builds. r=dustin
In many cases, building docker images starts on machines that don't have
a cached checkout, and it often takes forever to get a full clone. It
used to be worsened when 3 jobs could run at the same time because the
worker would start up clean, and 3 jobs would be doing a mercurial clone
at the same time, thrashing I/O, but that part is fortunately fixed.

It is still, however, appreciable not to waste time in the mercurial
clone part of image creation.

--HG--
extra : rebase_source : 8c76bc91e1d5102f68c43e1050d61971fef32e9f
2018-01-11 17:03:09 +09:00
Mike Hommey 8dae24c856 Bug 1430037 - Use the in-tree image builder image to build docker images. r=dustin
The image builder image we use to build docker images is updated
manually, and not necessarily when changes occur in tree that should be
reflected by a new image builder image. For instance, its run-task is
currently outdated. Not enough that it's actually a problem, but it
could rapidly become a problem.

There is also a lot of friction when trying to make changes in how
docker images are built, and while last time I tried, I ended up not
being able to do the changes I wanted to make because the docker version
on the host is too old, but this is already the second time I've been
trying to make things better and hit a wall because the the image
builder is essentially fixed in stone on the docker hub.

So with this change, we make all the docker images use the in-tree image
builder image, except itself, obviously. That one uses the last version
that was uploaded. We may want to update it at some point, but not doing
so will only impact building the image builder image itself, not the
other ones.

--HG--
extra : rebase_source : 978cf033732cbbbb277d206dec69660175b82afa
2018-01-11 17:50:00 +09:00
Mike Hommey d82350c48a Bug 1429998 - Exclude toolchain and package tasks from the target task set. r=dustin
Back in bug 1360609, we added `run-on-projects` to a list so that the
toolchain tasks wouldn't run on every push on release branches.

Fast forward to now, and they're depended upon by other tasks, meaning
they are triggered when appropriate, without resorting to that trick. In
fact, the commit message for bug 1360609 said we could switch to an
empty list once the jobs have dependencies.

The same is true from package tasks, which, in fact, I suspect would
happen on every push on release branches.

The only exception is for a few toolchains that are depended upon by
nothing, and that are produced for developer consumption with e.g. mach
artifact toolchain.

--HG--
extra : rebase_source : bb8624fed7490b85f4bd72b7ceb2db7a72b4c2ab
2018-01-17 14:30:57 +09:00
Andrew Halberstadt 7d764294a7 Bug 1386857 - [ci] Remove the 'tc' treeherder group prefix from all tasks, r=dustin
There are now only a handful of buildbot jobs remaining and the concern over
outdated treeherder exclusion profiles has largely been resolved.

This does remove the tc() group from a substantial number of tasks which will
now show up as top level tasks, potentially adding clutter. In some cases, we
might want to re-add a new group (e.g group builds or compiled tests together).
However rather than try to predict the best group names for tasks I'm unfamiliar
with, I think it's best to land this as is. Then if things are looking too
cluttered at the root namespace, file follow-up bugs as needed.

MozReview-Commit-ID: 8SMwjDwAOzV

--HG--
extra : rebase_source : 2f6d89d11c139bdcd404e7537db799d0e36ee4c3
2018-01-12 15:49:58 -05:00
Andrew Halberstadt eb69d68a94 Bug 1386857 - [taskgraph] Add path of offending config file to the UNKNOWN_GROUP_NAME error message, r=dustin
When trying to remove an ubiquitous group like tc(), it's hard to tell where the
error was located without grepping my filesystem. This makes it a bit easier to
find and fix these errors.

MozReview-Commit-ID: 8NjvB5zOoqb

--HG--
extra : rebase_source : 167d3097f96548cf9c13b602d7d485cb69d48c2d
2018-01-12 15:49:27 -05:00
Cosmin Sabou 1f9b4f0f06 Merge inbound to mozilla-central. a=merge 2018-01-17 11:46:53 +02:00
Tom Prince c0451f64eb Bug 1430823: Correctly link to source kind in task metadata; r=dustin
Differential Revision: https://phabricator.services.mozilla.com/D399

--HG--
extra : rebase_source : 0695454c8cfc3f60b2c48995eafa466767e0b5f4
extra : histedit_source : c5a5ac4400824320c5dbb6c2b6de596ce9703058
2018-01-16 00:29:30 -07:00
Tom Prince 306bf603dd Bug 1410255: Factor out determination of `try` to helper function; r=dustin
Differential Revision: https://phabricator.services.mozilla.com/D398

--HG--
extra : rebase_source : c055ab0e34c2d82c575521383ffc9ba084631f45
extra : histedit_source : df2f206225094eb2ca4d381f379e9ffbae3b3909
2018-01-16 00:15:59 -07:00
Aki Sasaki 0be9df7004 bug 1430353 - allow for an easier to read treeherder relpro symbol. r=bstack 2018-01-16 15:12:31 -08:00
Mike Hommey 3f0a4870c5 Bug 1430958 - Set docker-image as a chain-of-trust input centrally. r=dustin
Relying on the various transforms setting it manually is error prone,
and, in fact, is why bug 1430037 busted beta. This change makes this
setting happen at a single place. This yields the same full task graph
as before, except for *more* chain-of-trust inputs being set now: they
were missing for toolchain tasks (which makes us closer to bug 1384430).

--HG--
extra : rebase_source : b6bf3a3b6da7174957c4c6814b853a51ee8a1e27
2018-01-17 12:05:56 +09:00
Dorel Luca 09deda375a Merge mozilla-central to autoland r=merge 2018-01-16 06:07:49 +02:00
Dustin J. Mitchell 7f9df9a8a3 Bug 1430491: stop depending, incorrectly, on docker images; r=glandium
MozReview-Commit-ID: DksKKZQcXo0

--HG--
extra : rebase_source : cc5c47da8d816f82c1f7c659b2b239c1c5cdd5a1
2018-01-15 17:14:42 +00:00
Tom Prince 3a19777b1f Bug 1430006: Allow specifying the scope prefix to be used for script workers; r=aki
Differential Revision: https://phabricator.services.mozilla.com/D382

--HG--
extra : rebase_source : d011bc53c290468c846c1c3ed77e083a43fda2fa
2018-01-12 01:08:54 -07:00
Tom Prince d2e34db9b3 Bug 1430006: Add separate function for calculating phases; r=aki
Differential Revision: https://phabricator.services.mozilla.com/D384

--HG--
extra : rebase_source : ab17d3a92265aa0965996a1c7535aaf366023e8c
2018-01-12 14:04:42 -07:00
Tom Prince 4cedc60165 Bug 1430006: Move push-apk settings into the kind; r=aki,jlorenzo
Differential Revision: https://phabricator.services.mozilla.com/D383

--HG--
extra : rebase_source : 63bd62cd05399bbd685f57862e14e4e8b1035373
2018-01-12 13:20:23 -07:00
Tom Prince 345a5d6fda Bug 1430006: Allow configuring scriptworkers per-graph config; r=aki
Differential Revision: https://phabricator.services.mozilla.com/D379

--HG--
extra : rebase_source : c52684c1a65017698d29979f35afed646ca5c90c
2018-01-09 10:44:04 -07:00
Mike Hommey e44def0a59 Bug 1430005 - For mozharness jobs, rely on the default being set by the mozharness transform. r=dustin
The mozharness transform is supposed to set the docker image to
desktop-build when not already set, but was not doing it properly.

I guess this is why some jobs were setting the image themselves, despite
using the mozharness transform.

Consequently, don't manually set the image to desktop-build when it's
the default.

--HG--
extra : rebase_source : 024bd10960bedaee3416785348a5c12498c5286f
2018-01-12 16:01:38 +09:00
Aki Sasaki 17e0203ad5 bug 1430246 - fix devedition source signing scope. r=bhearsum
MozReview-Commit-ID: Dq3wqW4P52B

--HG--
extra : source : a0c607713dfb3887b87806ed615135ff349cbdae
extra : intermediate-source : fbde5320505049a521f2e4f5d535eefb56c25ded
extra : histedit_source : 1feba4c3cb3812675664415062370feb7ab89f41
2018-01-12 14:08:33 -08:00
Mike Hommey 06ef2a32a0 Bug 1429954 - Limit docker images retention on try. r=dustin
taskcluster/taskgraph/transforms/task.py sets an expiry to 28 days for
tasks on try, vs. 1 year on other projects, but only do that when an
expiry is not already set, which docker images do. And they do always
set to 1 year.

But it doesn't make sense to keep large docker images from try for a
year. So use the same retention policy as the default one. We /could/
just remove the expiry from docker images and get the task.py default,
but it seems like whatever future change might happen to that default
shouldn't affect docker images, so it's better to duplicate the setting.

--HG--
extra : rebase_source : b5b46ca34a40ac82c5403b67d5b1aacf8cf8cceb
2018-01-12 08:06:02 +09:00
Mike Hommey ed263aab84 Bug 1429669 - Add backports sources when building Debian packages. r=dustin
Build dependencies won't be installed from backports unless they are not
satisfiable in the given Debian release. This is useful to get dh-python
on Wheezy.

--HG--
extra : rebase_source : 1f249b4ceae4fdd9ea37e9a9b9e9b62b48a1c9ed
2018-01-11 14:03:21 +09:00
Mike Hommey f65ab0ce12 Bug 1429669 - Allow to build debian packages off a source tarball. r=dustin
In the case of mercurial, we don't want to use a .dsc as the original
source, but rather use the debian packaging scripts available in the
upstream mercurial tarball.

--HG--
extra : rebase_source : ec5b288f3994bc0bc1ec9ebce40def807bb7681f
2018-01-11 14:02:58 +09:00
Mike Hommey dc613af2d0 Bug 1429669 - Recursively check identifiers in schema validation. r=dustin
The taskgraph.util.schema.check_schema function validates key names used
in schemas, ensuring they are dashed lower-case. However, it currently
assumes keys are either direct strings, Required or Optional entries,
and either ignores or fails to recognize other patterns.

For example, it ignores Any, and fails to recognize combinations like
Required(Any(...)), which we're going to use in next patch.

--HG--
extra : rebase_source : 4f6ff51a4a9dc9c7d9b6d070e03c6cc6e1befe80
2018-01-11 09:29:19 +09:00
Mike Hommey 0f364f58ca Bug 1429669 - Group url and sha256 of dsc file in package definitions. r=dustin
This will be useful two patches down the road.

--HG--
extra : rebase_source : bfb3ccc53837c243703ad5fb1fd480063d906c1a
2018-01-11 07:35:32 +09:00
shindli 334ee0f441 Backed out 2 changesets (bug 1430037) for bustage on beta r=glandium
Backed out changeset 8b80471c1d79 (bug 1430037)
Backed out changeset 800640c0dc3f (bug 1430037)
2018-01-17 04:30:00 +02:00
Mike Hommey 896ba44bb9 Bug 1430037 - Use sparse checkouts for docker image builds. r=dustin
In many cases, building docker images starts on machines that don't have
a cached checkout, and it often takes forever to get a full clone. It
used to be worsened when 3 jobs could run at the same time because the
worker would start up clean, and 3 jobs would be doing a mercurial clone
at the same time, thrashing I/O, but that part is fortunately fixed.

It is still, however, appreciable not to waste time in the mercurial
clone part of image creation.

--HG--
extra : rebase_source : bbe8b001849e59bb655bb0e9766a6071ad38a52c
2018-01-11 17:03:09 +09:00
Mike Hommey 4cdb1025f2 Bug 1430037 - Use the in-tree image builder image to build docker images. r=dustin
The image builder image we use to build docker images is updated
manually, and not necessarily when changes occur in tree that should be
reflected by a new image builder image. For instance, its run-task is
currently outdated. Not enough that it's actually a problem, but it
could rapidly become a problem.

There is also a lot of friction when trying to make changes in how
docker images are built, and while last time I tried, I ended up not
being able to do the changes I wanted to make because the docker version
on the host is too old, but this is already the second time I've been
trying to make things better and hit a wall because the the image
builder is essentially fixed in stone on the docker hub.

So with this change, we make all the docker images use the in-tree image
builder image, except itself, obviously. That one uses the last version
that was uploaded. We may want to update it at some point, but not doing
so will only impact building the image builder image itself, not the
other ones.

--HG--
extra : rebase_source : 73e8fc51ea53af1e647fc1d5093c67d614dd009e
2018-01-11 17:50:00 +09:00
Dorel Luca a19f5582cc Merge mozilla-central to mozilla-inbound r=merge 2018-01-11 00:05:23 +02:00
Tom Prince 740dcad222 Backout removal of when.files-changed support for tests from Bug 1403322; r=dustin
MozReview-Commit-ID: 1ZT1VWJx7Y

--HG--
extra : rebase_source : 6611486f33f8f1b7d8799b9e70e5630855ac30d3
2018-01-09 11:51:08 -07:00
Dustin J. Mitchell 2b415ced27 Bug 1380174: handle --setenv correctly r=froydnj
This boils down to always setting worker.env to avoid a KeyError.

MozReview-Commit-ID: 1s4az9BFcc2

--HG--
extra : rebase_source : dabed2dedb00d176b829c6c0ff911e0236c5dec4
2017-12-19 18:19:52 +00:00
Mihai Tabara 6e1a7dc388 Bug 1401134 - Remove Fennec multi checksums as contents are duplicate within en-Us counterpart. r=aki DONTBUILD"
MozReview-Commit-ID: 1W7o4rcYpW9

--HG--
extra : rebase_source : 58d57f21411b29f25fccaaafdc6c63387aab4f54
extra : source : 298bad3d32579a35d4805811b205fff9bad1b5a9
2017-12-18 14:12:57 +02:00
Sebastian Hengst 1ebdaf80de merge mozilla-central to autoland. r=merge a=merge on a CLOSED TREE 2018-01-10 01:52:28 +02:00
Ben Hearsum 64d59d24fa bug 1398793: set channel list correctly for updates builder. r=jlorenzo 2018-01-09 10:06:40 -05:00
Mike Hommey 927bff7e2d Bug 1428912 - Only keep track of job names for seen configs in build_lints. r=dustin
When looking for perfherder data collection duplicates, we currently
keep full job objects references, which are then used in case an error
occurs, to display the job names of the duplicates.

But those job objects are yielded and may be modified by other
transforms, and presently, by the time a duplicate is found, the
corresponding job object has been modified such that it has no 'name'
key anymore, leading to a KeyError exception when trying to display
the duplicate error message.

So instead of keeping the job objects, which can change, and which we
don't have a real use for, just keep the job name.

--HG--
extra : rebase_source : 204e90a6fe1e4ce62f361451e1176d3195a3383b
2018-01-09 07:56:36 +09:00
Mike Hommey c64b0c2e7b Bug 1428907 - Only use packages task digests to compute docker image digests. r=dustin
In bug 1427326, we added package tasks that can be depended upon by
docker image tasks. In that case, we add the routes containing a digest
for those package tasks when computing the docker image digests.

The problem is that those routes start with 'index.gecko.cache.level-n'
where n varies between try and e.g. mozilla-central. That means the
digest for those docker images varies between try and e.g.
mozilla-central, which then prevents try from using the cached versions
for mozilla-central when there is one, like for other docker images
without package dependencies.

What we really need from those routes is the digest part, which is
independent of the level, and we don't actually care about anything else
in the route string, so just use the digest.

--HG--
extra : rebase_source : 4aecf8472306963da34f2bd4d92675962c0432bc
2018-01-09 07:31:56 +09:00
Margareta Eliza Balazs fe2caaa266 Merge inbound to mozilla-central r=merge a=merge 2018-01-09 11:52:55 +02:00
Mike Hommey 1fc4288d04 Bug 1428915 - Remove job name whitelist. r=mshal
This was useful when we still had buildbot-based build jobs, but all
it achieves nowadays is add friction when adding new build jobs on
taskcluster.

--HG--
extra : rebase_source : aa6a21a875eff1888c16900acf6d01ff37ab832b
2018-01-09 08:27:32 +09:00
Mike Hommey 48ac04d542 Bug 1420449 - Fixup after bug 1427312. r=me 2018-01-09 08:24:52 +09:00
Johan Lorenzo 2edb319949 Bug 1385401 - Fetch Google Play listings outside of the push-apk task r=aki
MozReview-Commit-ID: HVFVqjliqor

--HG--
extra : rebase_source : a1f4ac27254b42766661677132ccae4427a3c494
2018-01-08 16:14:26 +01:00
Johan Lorenzo 46a0fff037 Backed out changeset a32acea9d091 (Bug 1385401)
It broke the upload of Fennec nightly onto Google Play
2018-01-07 08:12:28 +01:00
Andreea Pavel 51d4c2d9ce Merge inbound to mozilla-central r=merge a=merge 2018-01-06 11:50:13 +02:00
Sebastian Hengst 6c6df154cd merge mozilla-central to mozilla-inbound. r=merge a=merge 2018-01-06 01:56:19 +02:00
Johan Lorenzo 3757bebc72 Bug 1385401 - Fetch Google Play listings outside of the push-apk task r=aki
MozReview-Commit-ID: 2PTvLx4Atj5

--HG--
extra : rebase_source : e455755b3a20c290b0a54fb60b90efb6ca756fb4
2018-01-05 13:49:59 +01:00
Mike Hommey f2d7b58712 Bug 1427312 - Add mechanism to create tasks to compare Firefox builds. r=dustin
There are e.g. some build infrastructure changes that we want to have a
controlled impact on the Firefox builds we produce. We have, in multiple
occasions, gone through manual work to compare Firefox builds, most of
the time using the diffoscope tool (https://diffoscope.org/).

This change introduces a new task kind that takes two Firefox builds as
input, either by name (reference to a build from the current task graph)
or by index (reference to a build from a previous push), and compares
them.

In order to get a Firefox build by index, we rely on dummy tasks with
an optimization we expect to always hit, so we add the necessary bits
to ensure those dummy tasks can go through up to the optimization phase
and be optimized out there.

--HG--
extra : rebase_source : 37482f67652dab2fcef2db4e6b8efe653999bae5
2017-12-28 12:14:34 +09:00
Chris AtLee 44e2a953f3 Bug 1420449: Skip schema validation with --fast r=dustin,ahal
MozReview-Commit-ID: 6wWYrNOG677

--HG--
extra : rebase_source : 316a9941c0c77c9f6dcd665bc7ca84914ad4f415
2017-12-07 22:23:57 -05:00
Mike Hommey b3ab939d2a Bug 1427326 - Debian docker images: bustage fix. r=bustage-fix on a CLOSED TREE
--HG--
extra : amend_source : f8ee007efd23067b2e0e3e9359ceee2c1236eef6
2018-01-05 01:24:44 +02:00
Mike Hommey dbeab088d2 Bug 1427326 - Allow Docker images tasks to depend on package tasks. r=dustin
--HG--
extra : rebase_source : f43c561476a2041b5f25b749f5c0eca06af30183
2017-12-29 13:03:19 +09:00
Mike Hommey 9446498abc Bug 1427326 - Add support for building Debian packages. r=dustin
--HG--
extra : rebase_source : 6006d84f619ffdc6c64028ca589ed78dc65c6898
2017-12-29 13:02:23 +09:00
Mike Hommey 72469bba68 Bug 1419638 - Allow to share docker image definitions. r=dustin
Instead of duplicating Dockerfiles between taskcluster/docker/*
directories, which can be error prone for very close images, it can be
desirable to use the same file. This change allows to set the
`definition` keyword on a docker image definition in kind.yml that
will make the task use the files from taskcluster/docker/<definition>
instead of taskcluster/docker/<image_name>.

--HG--
extra : rebase_source : 11ae231f66ca6a77896c1cff6c1580d04210f052
2017-12-24 07:58:08 +09:00
Mike Hommey 49e7b07ecc 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.

--HG--
extra : rebase_source : 26a43dd680c1ab97b1a4689a23c55594a3b21b67
2017-12-24 07:51:29 +09:00