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

31 Коммитов

Автор SHA1 Сообщение Дата
Tom Prince 85e8be2031 Bug 1550816: Enforce consistent indenting in taskcluster yaml; r=aki
Differential Revision: https://phabricator.services.mozilla.com/D30684

--HG--
extra : moz-landing-system : lando
2019-05-10 21:19:48 +00:00
Tom Prince e0ca5b4dd8 Bug 1532783: [taskgraph] Switch to using worker aliases for docker-worker and generic-worker; r=dustin
Differential Revision: https://phabricator.services.mozilla.com/D24238

--HG--
extra : moz-landing-system : lando
2019-04-30 22:58:06 +00:00
Mike Hommey 9961a0af3d Bug 1530908 - Don't use different mozconfigs for artifact builds. r=chmanchester
Artifact mozconfigs are not necessarily up-to-date wrt changes to the
nightly mozconfigs, and all in all, shouldn't be much different from
them.

It's just better to use the nightly mozconfigs (or beta on beta, etc.)
and make the mozconfigs themselves handle the few things that need to be
different when the USE_ARTIFACT environment is set (which is now
consistently set by taskcluster)

This does have the side effect of turning builds that actually don't
support artifact builds red when using --artifact on try, instead of
having them silently not be artifact builds as currently happens.

Depends on D21314

Differential Revision: https://phabricator.services.mozilla.com/D21315

--HG--
extra : moz-landing-system : lando
2019-03-06 22:48:05 +00:00
Mike Hommey 03b94324a6 Bug 1530908 - Always set USE_ARTIFACT from taskcluster for artifact builds. r=chmanchester
The artifact builds that are automatically derived using the artifact
template set the USE_ARTIFACT environment variable from taskcluster.
After the previous change, --artifact builds from try syntax do that
too.
That leaves us with only the artifact-build build not doing it, so for
consistency, do it there. That makes it not necessary to set
USE_ARTIFACT from mozconfig.artifact.automation anymore.

Depends on D22056

Differential Revision: https://phabricator.services.mozilla.com/D21313

--HG--
extra : moz-landing-system : lando
2019-03-06 22:48:30 +00:00
Mike Hommey 4b2309140a Bug 1528123 - Allow artifact builds to pull from a specific taskid. r=chmanchester
Currently, artifact builds pull from some task they determine from the
job type, and finding a pushhead.

Sometimes that latter fails, most notably on automation. But automation
can already know the right task to use without guesswork.

This change allows artifact builds to pull from a specific taskid given
through an environment variable, and make tasks from the artifact-build
kind (not the --artifact builds from try) use that.

Remove the workaround from bug 1382982 because it's now dead code.

Differential Revision: https://phabricator.services.mozilla.com/D19881
2019-02-20 07:45:55 +09:00
Tom Prince 510dc168cf Bug 1497860: [taskgraph] Use yaml lists for mozharness actions; r=Callek
Differential Revision: https://phabricator.services.mozilla.com/D8451

--HG--
extra : moz-landing-system : lando
2018-10-22 21:50:26 +00:00
Dan Mosedale d2201e2b26 Bug 1478995 - Add node toolchains to each automated build, r=gps
MozReview-Commit-ID: BQCAVP0nk4S

--HG--
extra : rebase_source : bcd0d3a8b26058ed3354f72d626362660bf7b5b9
2018-07-26 13:34:44 -07:00
Gregory Szorc e5e443cd1b Bug 1469676 - Reduce max-run-time for various build tasks; r=glandium
The max-run-time for tasks appears to have been mostly cargo
culted. In particular, a value of 36000 (10 hours) is quite absurd:
no single task takes that long to execute.

This commit reduces the max-run-time of several tasks to
more reasonable values. The goal here is to prevent
excessively long-running tasks. There is definitely room to
further tweak values to further mitigate long-running tasks. But
let's bite off the biggest chunk first, since that doesn't
require much mental effort.

There is a possibility I overshot on some of these tasks. If we
get timeouts, we can always increase the timeout again.

Differential Revision: https://phabricator.services.mozilla.com/D1716
2018-06-20 20:59:01 +00:00
Mike Hommey de808cbccf Bug 1465659 - Move perfherder extra options from mozharness to taskcluster. r=nalexander
While some builds have a PERFHERDER_EXTRA_OPTIONS environment set on the
taskcluster side, many others have the equivalent set at the mozharness
level. But only the former are actually linted against, which,
unsurprisingly, translates to conflicting values between some of the
mozharness configs.

So we move those configurations to taskcluster, enable the lint on all
the kinds that look like builds (based on them using the build_attrs
transform), and adjust the values to stop conflicting. Notably, for
searchfox and static-analysis-autotest.

--HG--
extra : rebase_source : 097333608e61e1df66e5d8f914e15784f35e58f2
2018-05-31 13:02:38 +09:00
Tom Prince 89180e14a3 Bug 1429603: Don't specify balrog servers for builds; r=jlund
Differential Revision: https://phabricator.services.mozilla.com/D415

--HG--
extra : rebase_source : 7c823a0b90a26ab6a0384a185b4a68f2a30c38c8
2018-01-18 10:20:51 -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
Mike Hommey 035f2cbe49 Bug 1426785 - Remove uses of the gtk+3 tooltool package. r=gps
It turns out that in all cases it was the last tooltool manifest entry,
so we can remove the tooltool manifests entirely, and remove all
references to them.

--HG--
extra : rebase_source : d8447b5422e63e88444008fddb76d658829694de
2017-12-22 07:54:58 +09:00
Coroiu Cristina dbb27acb6d Backed out 5 changesets (bug 1426785) for failing repackage the nightly build on Linux a=backout.
Backed out changeset 08b5850633de (bug 1426785)
Backed out changeset 61453b6473f1 (bug 1426785)
Backed out changeset 851ce8944b41 (bug 1426785)
Backed out changeset 386cd0532519 (bug 1426785)
Backed out changeset 2a52bf9e0898 (bug 1426785)
2017-12-24 14:03:02 +02:00
Mike Hommey 370b8cf0ff Bug 1426785 - Remove uses of the gtk+3 tooltool package. r=gps
It turns out that in all cases it was the last tooltool manifest entry,
so we can remove the tooltool manifests entirely, and remove all
references to them.

--HG--
extra : rebase_source : 0aa9ef8151c2fccf62507dfecc0bc57b157772e1
2017-12-22 07:54:58 +09:00
Steve Armand f9ec1d54e7 Bug 1414824 - Enable stricter linting in taskcluster yaml files. r=Callek
MozReview-Commit-ID: AX1cDUkwrBh

--HG--
extra : rebase_source : 4e3d0f5e4b7d1b4d2196c431ae03bc2e9b95387b
2017-11-11 00:36:41 -05:00
Tom Prince 8d12c10568 Bug 1413668: Factor out objdir configuration in mozharness. r=jlund
MozReview-Commit-ID: 14l6kxcTav5

--HG--
extra : rebase_source : b6cfbb44cf08760f84d45f454aaba5d6f9910e5f
2017-10-27 12:44:13 -06:00
Dustin J. Mitchell f2c8898f06 Bug 1401180: rename 'toolchain' transform to 'use_toolchains'; r=glandium
MozReview-Commit-ID: 5vKM5dRBuZt

--HG--
rename : taskcluster/taskgraph/transforms/toolchain.py => taskcluster/taskgraph/transforms/use_toolchains.py
extra : rebase_source : 71b3528c4d0d124d0bdb06c1bcab92f8bcabad83
extra : source : 4d29e16b186e836db589c6b80cb7b50631e8ebc4
2017-09-14 20:12:59 +00:00
Ryan VanderMeulen 8025726400 Bug 1389996 - Only run Linux64 artifact builds on trunk and Try. r=chmanchester 2017-09-18 15:36:37 -04:00
Mike Hommey e81f396704 Bug 1388572 - Remove toolchain dependencies on artifact builds. r=gps
They just inherited the dependencies because they were using the same
tooltool manifests as compiling builds.

--HG--
extra : rebase_source : 03ee8180e455e01b72016b3132001745b87f78e7
2017-08-09 09:15:45 +09:00
Mike Hommey 474d5de300 Bug 1388569 - Remove sccache dependencies on jobs that don't use it. r=gps
There are essentially four categories of jobs that have dependencies on
sccache currently and that shouldn't:
- jobs that don't compile anything. They just inherited the dependency
  because they were using the same tooltool manifests as compiling
  builds.
- jobs that don't use sccache. Ideally, we'd make them use sccache, but
  things are not currently setup to make that easy, so we'll keep that for
  later.
- jobs that explicitly disable sccache through needs-sccache: false.
  Like above, ideally, they would use sccache.
- jobs that can't use sccache. Those are hazard jobs, that rely on a GCC
  plugin and AIUI on a global knowledge of the code, which the plugin needs
  to see. Caching would break that.

--HG--
extra : rebase_source : 77455b9f0a58919838c8c64c36aa1db99baf8c7e
2017-08-09 09:05:35 +09:00
Mike Hommey 02f8b2de18 Bug 1384422 - Use toolchain dependencies for clang. r=gps
This leaves out fuzzing and linux static analysis builds, which are
using, respectively, clang 4.0.1 and clang 3.8, while linux64-clang
produces a 3.9 and win*-clang a 5.0

--HG--
extra : rebase_source : 45128ac74bf4fe7e6a2ace57043c34ecdf0fe929
2017-07-26 16:32:15 +09:00
Mike Hommey bc784842fe Bug 1384418 - Use toolchain dependencies for gcc. r=gps
--HG--
extra : rebase_source : 187010d47e94d53abf18cd9acd7073269744d818
2017-07-26 15:27:09 +09:00
Mike Hommey cfb8502a7f Bug 1384417 - Use toolchain dependencies for sccache. r=gps
--HG--
extra : rebase_source : 46eb4903d4d918e93b77b17124025253cda28d04
2017-07-20 17:56:49 +09:00
Mike Hommey 780768bc06 Bug 1374940 - Allow to define a list of toolchains to use for a given TC job. r=dustin
Such a definition automatically sets up the corresponding dependencies
in the taskgraph, and adds the necessary artifact definitions for use in
the corresponding jobs. The jobs end up with a MOZ_TOOLCHAINS
environment variable with a list of path@task-id strings, where task-id
is corresponding to the (possibly optimized) toolchain job, and path
corresponding to the toolchain-artifact defined for that toolchain job.

--HG--
extra : rebase_source : b2d297bd75d9c416b30d2a6c6d61efcb64681727
2017-06-21 15:38:21 +09:00
Mike Hommey b6397fae70 Bug 1356952 - Add tooltool manifests defined in mozharness configurations to taskcluster job definitions. r=mshal
Since bug 1321847, mozharness tooltool manifests can be overriden from
the environment. We use that possibility to now define tooltool
manifests from taskcluster job definitions. Ideally, we'd also remove
the definitions from the mozharness configs, but with things still
running on buildbot, it's not clear what things might break because of
that. We'll do it in a separately back-out-able followup.

--HG--
extra : rebase_source : 860b8f1d4fdc4a557770a3749055f19b1ec45e93
2017-06-06 16:17:40 +09:00
Gregory Szorc 6f813399e5 Bug 1362148 - Always collect build metrics; r=ted
Previously, mozharness defined a separate action to collect build
metrics. This required the script and/or config to define that
action.

Metrics collection for CI is important. So it should be enabled by
default.

This commit changes the "build" action/method to always call the
metrics collection function after successful build. References to
the "generate-build-stats" action have been removed because it is
redundant.

A side-effect of this change is we may generate build metrics where
we weren't before. This could lead to e.g. duplicate entries in some
Perfherder series. Let's see what breaks ;)

MozReview-Commit-ID: 42UQI5YQTMC

--HG--
extra : rebase_source : c57dc9ec6ac46003384edff098a0ad81c75539b7
extra : source : c9812dd7d27a174c0ee46d44ec595fbe29c9e1db
2017-05-04 12:28:52 -07:00
Dustin J. Mitchell f8a58269bd Bug 1359976: base worker payload generation on worker-type; r=wcosta r=aki
To date we have variously specified both worker-type and worker-implementation,
often manually coordinated. We also embedded a few awkward assumptions such as
that the native engine only runs on OS X.

But a worker type has one and only one implementation, and that implementation
is stable over time (as changing it would require simultaneous landings on all
trees).

Instead, this change makes worker-type the primary configuration, and derives
both a worker implementation (defining the payload format) and worker OS
(determining what to include in the payload) from that value. The derivation
occurs when deciding how to implement a particular job, where the run_using
functions are distinguished by worker implementation.

The two-part logic to determine how and where to run a test task based on its
platform is combined into a single transform, `set_worker_type`.

This contains some other related changes:
 - MOZ_AUTOMATION is set in specific jobs, rather than everywhere docker-worker
   is used
 - the URL to test packages is factored out into a shared function
 - docker-worker test defaults are applied in `mozharness_test.py`
 - the WORKER_TYPE array in `task.py`, formerly mixing two types of keys, is
   split
 - the 'invalid' workerType is assigned an 'invalid' implementation
 - all tasks that do not use job descriptions but use docker-worker, etc. have
   `worker.os` added

Tested to not produce a substantially different taskgraph for a regular push, a
try push, or a nightly cron.

MozReview-Commit-ID: LDHrmrpBo7I

--HG--
extra : rebase_source : 4cdfe6b8d9874b0c156671515b213d820b48482f
2017-05-08 22:53:50 +00:00
Dustin J. Mitchell 449d528cf3 Bug 1333255: rename taskgraph.task to taskgraph.loader; r=jonasfj
MozReview-Commit-ID: 6aPdGbxn0D1

--HG--
rename : taskcluster/taskgraph/task/__init__.py => taskcluster/taskgraph/loader/__init__.py
rename : taskcluster/taskgraph/task/balrog.py => taskcluster/taskgraph/loader/balrog.py
rename : taskcluster/taskgraph/task/beetmover.py => taskcluster/taskgraph/loader/beetmover.py
rename : taskcluster/taskgraph/task/beetmover_checksums.py => taskcluster/taskgraph/loader/beetmover_checksums.py
rename : taskcluster/taskgraph/task/checksums_signing.py => taskcluster/taskgraph/loader/checksums_signing.py
rename : taskcluster/taskgraph/task/post_build.py => taskcluster/taskgraph/loader/post_build.py
rename : taskcluster/taskgraph/task/repacks.py => taskcluster/taskgraph/loader/repacks.py
rename : taskcluster/taskgraph/task/signing.py => taskcluster/taskgraph/loader/signing.py
rename : taskcluster/taskgraph/task/test.py => taskcluster/taskgraph/loader/test.py
rename : taskcluster/taskgraph/task/transform.py => taskcluster/taskgraph/loader/transform.py
rename : taskcluster/taskgraph/task/base.py => taskcluster/taskgraph/task.py
extra : rebase_source : 42a183bae9aedfa04876d99a59119fd08bbf7d73
2017-03-09 19:00:49 -05:00
Dustin J. Mitchell 7e3408a70e Bug 1333255: always transform tasks; r=jonasfj
MozReview-Commit-ID: 3A5wzXKG0Yp

--HG--
extra : rebase_source : 10063aa354d18b08db182b41e9ae61f2f884becd
2017-03-09 16:40:33 -05:00
Dustin J. Mitchell b0117f4f53 Bug 1333255: use normal old functions to load tasks; r=jonasfj
Instead of using a class's static method, use a simple function, specified by
the `loader` key.

MozReview-Commit-ID: IeOl9qiSCXf

--HG--
extra : rebase_source : 72e0a9dd8385b250a46c9f4adf8a8a0e5b01c156
2017-03-09 23:14:40 -05:00
Dustin J. Mitchell 39bb843d5d Bug 1286075: add artifact-build kind; r=chmanchester r=gps
MozReview-Commit-ID: 41WpDtXvoPb

--HG--
extra : rebase_source : c2906b9e4333fcd11568d5a7a43582203a623649
2016-09-07 01:01:52 +00:00