Commit Graph

55 Commits

Author SHA1 Message Date
Mike Hommey
357a8bb20c Bug 1486654 - Enable static analysis on all Linux CI builds. r=ted
And turn off separate static analysis build tasks.
2018-08-29 13:55:24 +09:00
Dorel Luca
544b61c613 Backed out changeset 692efe8acba9 (bug 1486654) for wd failures on /builds/worker/workspace/build/tests/bin/geckodriver 2018-08-29 05:16:55 +03:00
Mike Hommey
2ef817ea52 Bug 1486654 - Enable static analysis on all Linux CI builds. r=ted
And turn off separate static analysis build tasks.
2018-08-29 08:02:06 +09:00
Emilio Cobos Álvarez
818db7603f Bug 1478813 - Add cbindgen toolchain job and install via bootstrap. r=ted
And require it for taskcluster build already, because it doesn't harm and lets
me put all the yml changes in the same commit.

I gave up cross-compiling for OSX after a few tries and after realizing it
wasn't enough with cctools and such, but that I also needed the Mac SDK, for
which I don't have permission...

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

--HG--
extra : moz-landing-system : lando
2018-08-13 10:58:22 +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
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
David Major
8483a27743 Bug 1443827: Move clang-cl static analysis builds to their own toolchain task. r=froydnj
Note that static analysis was the only remaining user of the 32-bit toolchain, so I've removed win32-clang-cl (or rather, renamed it to win32-clang-cl-st-an).

--HG--
rename : build/build-clang/clang-win32.json => build/build-clang/clang-win32-st-an.json
rename : build/build-clang/clang-win64.json => build/build-clang/clang-win64-st-an.json
rename : taskcluster/scripts/misc/build-clang32-windows.sh => taskcluster/scripts/misc/build-clang32-st-an-windows.sh
rename : taskcluster/scripts/misc/build-clang64-windows.sh => taskcluster/scripts/misc/build-clang64-st-an-windows.sh
2018-03-08 17:25:52 -05: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
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
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
Tom Prince
1f81f4ad37 Bug 1418141: Combine taskcluster win base configs. r=jlund
MozReview-Commit-ID: 1CK5xdCUHbq

--HG--
extra : rebase_source : 7dc849e587eba35bb4809ec07f6e8564d57e942f
2017-10-31 21:01:51 -06:00
Tom Prince
954514e67c Bug 1418141: Combine taskcluster win64 mozharness configs. r=jlund
MozReview-Commit-ID: 5KOzNMqn4m8

--HG--
extra : rebase_source : 088fe065344c729bbb3b022b8b624bc53bc50538
2017-10-31 19:16:33 -06:00
Tom Prince
9ad773a916 Bug 1418141: Combine taskcluster win32 mozharness configs. r=jlund
MozReview-Commit-ID: ICMryQvdHCz

--HG--
extra : rebase_source : fa95cfff4e789d91763922233547a74c8a48fe0b
2017-10-31 17:17:23 -06:00
Margareta Eliza Balazs
2408b0075c Backed out 3 changesets (bug 1418141) as requested by developer r=backout on a CLOSED TREE
Backed out changeset 494839119203 (bug 1418141)
Backed out changeset 599b59f91c1c (bug 1418141)
Backed out changeset 3d83ffab30dc (bug 1418141)
2017-11-28 00:44:15 +02:00
Tom Prince
06b8d461cc Bug 1418141: Combine taskcluster win base configs. r=jlund
MozReview-Commit-ID: 1CK5xdCUHbq

--HG--
extra : rebase_source : 34445b0bdd85ecbea97bc45abd1b1b4f4c095cef
2017-10-31 21:01:51 -06:00
Tom Prince
b8d2ad7549 Bug 1418141: Combine taskcluster win64 mozharness configs. r=jlund
MozReview-Commit-ID: 5KOzNMqn4m8

--HG--
extra : rebase_source : 347b8bbd01f88aa05527e79caa23c2c1afccbe75
2017-10-31 19:16:33 -06:00
Tom Prince
b885fb5782 Bug 1418141: Combine taskcluster win32 mozharness configs. r=jlund
MozReview-Commit-ID: ICMryQvdHCz

--HG--
extra : rebase_source : be395093eee9318c6c0f9fe0d9c900c66043cbaf
2017-10-31 17:17:23 -06:00
Coroiu Cristina
4a590a5a15 Backed out 3 changesets (bug 1418141) for breaking Windows DMD builds r=backout a=backout
Backed out changeset 6cd9206792f9 (bug 1418141)
Backed out changeset 68e180048ca9 (bug 1418141)
Backed out changeset 01b97ef0de10 (bug 1418141)
2017-11-24 17:09:26 +02:00
Tom Prince
d0cac51661 Bug 1418141: Combine taskcluster win base configs. r=jlund
MozReview-Commit-ID: 1CK5xdCUHbq

--HG--
extra : rebase_source : 34445b0bdd85ecbea97bc45abd1b1b4f4c095cef
2017-10-31 21:01:51 -06:00
Tom Prince
725723fd2a Bug 1418141: Combine taskcluster win64 mozharness configs. r=jlund
MozReview-Commit-ID: 5KOzNMqn4m8

--HG--
extra : rebase_source : 347b8bbd01f88aa05527e79caa23c2c1afccbe75
2017-10-31 19:16:33 -06:00
Tom Prince
d84084cac2 Bug 1418141: Combine taskcluster win32 mozharness configs. r=jlund
MozReview-Commit-ID: ICMryQvdHCz

--HG--
extra : rebase_source : be395093eee9318c6c0f9fe0d9c900c66043cbaf
2017-10-31 17:17:23 -06: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
David Major
ea84880cdf Bug 1412952 - Use VS2017 with clang-cl builds. r=froydnj 2017-11-03 12:29:58 -04:00
David Major
9ed1b43eb9 Bug 1408789 - Temporarily keep clang-cl builds using VS2015 binaries. r=gps
--HG--
rename : browser/config/tooltool-manifests/win32/releng.manifest => browser/config/tooltool-manifests/win32/vs2015.manifest
rename : browser/config/tooltool-manifests/win64/releng.manifest => browser/config/tooltool-manifests/win64/vs2015.manifest
2017-10-27 11:15:16 -04:00
Ralph Giles
a7e28bc3b1 Bug 1391427 - Package upstream rust in taskcluster. r=glandium
Add a toolchain job description which calls the
repack_rust.py script to package the requested
upstream build of Rust and its standard libraries
for use in gecko builds.

Links are added to these new toolchains for various build
and analysis tasks as appropriate. The base-toolchain
tasks use an explicitly-versioned toolchain since those
can be different from the current release used for most builds.

The corresponding tooltool manifest entries are removed
now that taskcluster artifact versions are available.
This simplifies the update process since new toolchains
can be packaged and used automatically by just updating
the versions in the task descriptions.

A 'linux64-rust' toolchain can be added to other tasks
as a dependency and artifact. It supports linux64-
hosted builds of Rust code targeting linux64 or linux32.

A 'linux64-rust-macos' toolchain targets linux64-hosted
builds of Rust code targeting macOS on x86_64.

A 'linux64-rust-android' toolchain targets linux64-hosted
builds of Rust code targeting various Android architectures.

Two 'win64-rust' and 'win32-rust' toolchain tasks create
similar entries for Windows-hosted builds. All our automation
builds are hosted on win64, so we could use one artifact
with support for both targets, but currently this doesn't
work because of cross-compilation issues in some crates.
This patch maintains the previous separation between
win32 and win64 rust toolchains until that can be addressed.

MozReview-Commit-ID: GRiJml8CtzO

--HG--
extra : rebase_source : 09a3698ce7f9a8b5f2b5d9b5a1fde9c05dc6b540
2017-09-12 16:30:19 -07: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
Mike Hommey
47bc56acc7 Bug 1389398 - Remove remaining clang entries in windows tooltool manifests. r=gps
Since the buildbot-based Windows builds using releng.manifest are busted
anyways, there is no reason to keep clang entries in there. Which makes
those manifests identical to clang.manifest, so remote the latter.

--HG--
extra : rebase_source : eef7eca4bafc4e348eadc04d6da2bd17ea20deea
2017-08-11 16:16:32 +09:00
Mike Hommey
726ce85142 Bug 1388573 - Imply needs-sccache from toolchain dependencies. r=dustin
After bug 1388569 and bug 1388572, all jobs that have needs-sccache set
have a dependency on either linux64-sccache or win64-sccache, and
vice-versa. Which means they are now redundant, and one should imply the
other.

--HG--
extra : rebase_source : ae72f67ccf2da7ba645416b8be4d10687005d01a
2017-08-09 09:22:43 +09:00
Mike Hommey
7a6bf77890 Bug 1387346 - Set needs-sccache for static-analysis and valgrind builds. r=dustin
--HG--
extra : rebase_source : d8b9a533696c6c53af0defa81483e6a97009d8f2
2017-08-08 14:08:34 +09:00
Mike Hommey
0dd063a9dd Bug 1386589 - Remove the linux64 tooltool manifests that look the same as releng.manifest. r=gps 2017-08-04 06:07:43 +09:00
Mike Hommey
bfb16d4b7f Bug 1356926 - Use the same clang as normal builds for static analysis. r=gps
In practice, this upgrades from clang 3.8 to 3.9.
2017-08-04 06:07:42 +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
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
c9ecf74457 Bug 1355118 - Remove OS X static analysis builds. r=gps
Since clang plugin is enabled in osx cross builds.

--HG--
extra : rebase_source : 52cf1b501e30d0c31520fe8cf87bd89fbe6403ea
2017-07-19 07:05:02 +09:00
Chris AtLee
e1975d6c38 Bug 1374351: Update platform names for cross-compiled OSX builds r=Callek
MozReview-Commit-ID: 4a2mhRVFhQP

--HG--
extra : rebase_source : 555ada9a7dc4eeaa44be6376c6b9fe87f15b8ad5
2017-06-30 16:54:03 -07: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
Kartikaya Gupta
5282d6aae2 Bug 1264494 - Turn on Mac OSX 64 debug static analysis builds on Taskcluster. r=dustin,kmoir
MozReview-Commit-ID: 4EruHcLydBR

--HG--
extra : rebase_source : 7a954de89b9f88dd7efd1d8f0de2d7751b280d53
2017-03-02 14:17:37 -05:00
Kartikaya Gupta
e33700ecf1 Bug 1264494 - Turn on Linux64 debug static analysis builds on Taskcluster. r=dustin,kmoir
MozReview-Commit-ID: KXimjewdpz4

--HG--
extra : rebase_source : 25d3a67a41d21f7018185633d0c74d87c9e52f15
2017-03-02 14:17:19 -05:00
Kartikaya Gupta
7f8f584dd2 Bug 1264494 - Remove xvfb and secrets from static analysis builds. r=dustin
MozReview-Commit-ID: IsIKIJX8dy1

--HG--
extra : rebase_source : 8c134f49b5e69150c0a9e6ca69bebdad7a788b0c
2017-03-02 14:16:37 -05:00
Ehsan Akhgari
9089fd7cb9 Bug 1331749 - Promote Windows clang-cl builds to tier 1; r=KWierso 2017-01-17 18:11:47 -05:00