Commit Graph

2747 Commits

Author SHA1 Message Date
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
Simon Fraser
537673de00 Bug 1401995 Update funsize to use async, to reduce task time r=jlorenzo
MozReview-Commit-ID: 24IU3pcJseY

--HG--
extra : rebase_source : a2b4d681ee3dbec82a523b39aff6d9e2e69d42f5
2018-01-03 14:42:47 +00:00
Coroiu Cristina
e3fdede2e8 Backed out 1 changesets (bug 1401995) for multiple linting failures in funsize.py r=backout on a CLOSED TREE
Backed out changeset f2015e2842ca (bug 1401995)
2018-01-08 14:01:34 +02:00
Simon Fraser
0fe4995741 Bug 1401995 Update funsize to use async, to reduce task time r=jlorenzo
MozReview-Commit-ID: 24IU3pcJseY

--HG--
extra : rebase_source : 8d6949ab317f71601f4c282b979ec72c82bb8ca0
2018-01-03 14:42:47 +00:00
Johan Lorenzo
34803fee8d Bug 1428728 - Snap: Fix media playback, webgl and printing r=sfraser
MozReview-Commit-ID: G31Iq6NjXN4

--HG--
extra : rebase_source : b207a528507871c831d01c4b03df8b7f544db8ee
2018-01-08 10:46:00 +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
Mike Hommey
5d73d0f334 Bug 1427339 - Build GCC on a Debian-based docker image. r=gps 2018-01-06 14:19:32 +09: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
Gregory Szorc
f22a8ae72d Backed out changeset 15a9e149f2db (bug 1426445) for build bustage
CLOSED TREE

--HG--
extra : amend_source : 12ae596b4067fd7ce93125880924e6a9e2a4125a
2018-01-05 15:18:12 -08:00
Tom Prince
9ad7a74167 Bug 1426445: Add sanity check that worker uid/gid is 1000 in run-task; r=dustin,gps
MozReview-Commit-ID: 7T7rQpLhJIN

--HG--
extra : rebase_source : f8dff72bc22242fe12080b2e517b8a8a4b4e27c4
2018-01-02 14:22:36 -07: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
2b4b15ad7e Bug 1427326 - Add a Debian 7-based docker image for toolchain builds. r=dustin
--HG--
extra : rebase_source : 97992266ffabc0db2d3e9eea567c3bd841aec936
2017-12-29 14:56:52 +09: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
51725c8a00 Bug 1427326 - Build a python package for Debian 7. r=dustin
--HG--
extra : rebase_source : b31d301859a0b6f6ecbb7763a82f162d7673379f
2017-12-29 13:00:59 +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
Ted Mielczarek
d9f364de3f bug 1401647 - Fix spidermonkey mozjs / rust-bindings builds. r=nalexander
The spidermonkey mozjs and rust-bindings builds run sed on
$topsrcdir/.cargo/config.in to generate the cargo config they use, but
they previously only replaced the @top_srcdir@ substitution. This patch
makes them replace any other substitutions with an empty value to add
a bit of future-proofing.

MozReview-Commit-ID: 1DzP9vXxHMD

--HG--
extra : rebase_source : e8c0268a2a6e91ca2000b340beee2dcff0636591
2018-01-03 14:51:52 -05:00
Ted Mielczarek
24f3ed4b74 bug 1401647 - use a 64-bit Rust toolchain for win32 builds. r=nalexander,rillian
We currently use a 32-bit Rust toolchain for win32 builds, but this can lead
to OOM situations. This patch makes win32 builds use a 64-bit Rust toolchain,
which requires a little bit of extra configuration because rustc needs to
be able to find a link.exe that produces 64-bit binaries for building
things like build scripts, which are host binaries.

We will now generate a batch file that sets LIB to the paths to 64-bit
libraries and invokes the x64-targeting link.exe, and add a section to the
.cargo/config file to instruct cargo to use that batch file as the linker
when producing 64-bit binaries.

MozReview-Commit-ID: 9vKBbm7Gvra

--HG--
extra : rebase_source : 599b3b661c7a8a5db1f32a2a9732fc202fb55e1e
2017-12-14 10:20:33 -06:00
Ralph Giles
79672f78f9 Bug 1401647 - Add i686 target to win64-rust. r=ted
Add a cross-compilation copy of rust's standard library targeting
i686-pc-windows-msvc to the win64-rust toolchain package so it
can be used to build for win32 as well.

MozReview-Commit-ID: 3598VZrDjIH

--HG--
extra : rebase_source : f1b25a68a67ae7f9c505a42d17f29dbedf59a49d
2017-12-13 22:41:29 -06: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
Mike Hommey
3b49bb403b Bug 1419638 - Add schema validation to docker image transform. r=dustin
--HG--
extra : rebase_source : 1e5ea44d94e8feb7f5f87bf8cdc4498b90f9325e
2017-12-28 15:46:14 +09:00
Margareta Eliza Balazs
c06fd8b9d6 Merge mozilla-central to autoland. r=merge a=merge CLOSED TREE 2018-01-04 10:07:11 +02:00
Mike Hommey
ebcec7e922 Followup for bug 1421100: deterministically download rustc 1.23.0-beta.2. r=me, a=bustage on a CLOSED TREE 2018-01-04 14:52:20 +09:00
Mike Hommey
f203a9476f Bug 1426324 - Make toolchain cache indexes vary depending on the docker image name. r=dustin 2018-01-04 14:41:29 +09:00
Mike Hommey
41d5a4e777 Backout changeset f41ca59052be (bug 1426324) in an attempt to unbust win32 builds. a=bustage on a CLOSED TREE
Landings of e.g. bug 1427336 triggered new toolchain jobs. One of those
jobs, because of wrong changes in bug 1421100, downloaded a new rust
compiler beta instead of the intended fixed beta version. In turn, that
new rust compiler beta fails to compile the slog crate.

Now, because of how toolchain cache indexes work, every new win32 job
picks that new unintended rust compiler beta version, even on branches
where 1427336 hasn't landed.

I couldn't find a way to force the right beta version, so we're pretty
much stuck with that toolchain index pointing to the wrong version of
rust beta.

By backing out bug 1426324, we return to a toolchain index that is known
to have an artifact for the right rust compiler beta.

Unfortunately, if something triggers a new TW32(rust) job after this,
that toolchain index will be busted as well.
2018-01-04 14:14:43 +09:00
Mike Hommey
934ddc3e58 Bug 1427336 - Share dot-config between docker-images. r=dustin
--HG--
rename : taskcluster/docker/android-build/dot-config/pip/pip.conf => taskcluster/docker/recipes/dot-config/pip/pip.conf
extra : rebase_source : 1c2ec206f1560509f0db296da4d7be22811441ac
2017-12-29 14:48:23 +09:00
Mike Hommey
9caadb59e2 Bug 1427336 - Fix recursive adding of directories through %include in Dockerfiles. r=dustin
Giving a directory to %include would copy all leaf files under one
single directory in the context image. The only image affected is
valgrind-build, which ended up having a dot-config/pip.conf file instead
of dot-config/pip/pip.conf, meaning valgrind jobs weren't using the
pip config.

--HG--
extra : rebase_source : 518c8ca1617b57ae4b4bb83a85340de5515c26c5
2017-12-29 14:42:14 +09:00
Coroiu Cristina
ee5a3e707d Backed out changeset 7a47accb11c5 (bug 1420449) for build bustage r=backout on a CLOSED TREE 2018-01-03 19:04:32 +02:00
Geoff Brown
9b8926168a Bug 1427750 - Run a few more android emulator test tasks on xlarge instances; r=jmaher
Android cppunit, test-verify, and mochitest-gpu have been running on lower end
aws instances. It is probably better to run all emulator tasks on xlarge.
2018-01-03 09:29:32 -07:00
Chris AtLee
326ac3186e Bug 1420449: Skip schema validation with --fast r=dustin,ahal 2018-01-03 10:27:16 -05:00
Andreea Pavel
949330729a Backed out 1 changesets (bug 1427266) for failing linux toolchain builds r=backout on a CLOSED TREE
Backed out changeset 78f2064b3811 (bug 1427266)
2017-12-30 02:41:11 +02:00
Mike Hommey
151b428748 Bug 1427266 - Statically link libdmg-hfsplus against OpenSSL. r=gps
libcrypto, part of OpenSSL, and that dmg links against, has a varying
ABI, and something built against libcrypto on Centos won't run on Debian
and vice versa. It might not even work between versions of the same OS
(e.g. Debian 7 vs. Debian 9).

Because of that, it is desirable to statically link it.

This incorporates https://github.com/mozilla/libdmg-hfsplus/pull/1
and sets OPENSSL_USE_STATIC_LIBS when building libdmg-hfsplus.

--HG--
extra : rebase_source : 21a46f707494f388a899c08d0923f8b393d12cd1
2017-12-28 18:19:31 +09:00
Mike Hommey
a69d79d672 Bug 1427232 - Install expat-devel before building gtk3. r=gps
fontconfig uses expat by default to read its xml configuration, but when
expat is not there at build time, it falls back to libxml2. We ended up
in this situation, while on Debian, fontconfig is built against expat.

This makes no practical difference, since we're not actually using
fontconfig, but for some reason, the difference in dependencies has an
impact on how ld chooses to arrange the .plt and .got.plt sections,
meaning that even though the code and data is originally identical, in
the .o files, the resulting linked machine code is largely different
because of all the applied relocations changing the offsets of e.g. call
instructions for function calls through the .plt. This results in large
differences in .plt, .init, .text, .data.rel.ro, as well as symbols list
when building on Debian.

This thus is meant to help make the differences more tractable.

--HG--
extra : rebase_source : 7a731c34074a50e84412f73ab9499248345fb14a
2017-12-28 11:23:01 +09:00
Mike Hommey
0ca59ec97b Bug 1427145 - Use toolchain artifacts instead of tooltool packages for osx (cross) repackages. r=gps
OSX (cross) repackages are currently using a tooltool manifest to get
libdmg and hfsplus. Change those jobs to use the toolchain artifacts
instead.

At the same time, modify the repackage mozharness script's _run_tooltool
so that it doesn't fail with MOZ_TOOLCHAINS being set but without a
tooltool_manifest_src, matching the similar function in buildbase.py.

--HG--
extra : rebase_source : d128d4709c5d1d28d1a6b9c585fde82e99f725c7
2017-12-27 07:02:21 +09:00
Mike Hommey
67185715fd Bug 1427068 - Enable the mercurial share extension at the system level. r=gps
I suppose it was setup through ~worker/.hgrc before we started
installing a /etc/mercurial/hgrc that enables a few other extensions
and sets some preferences.

There is no reason to now have two places where mercurial is being set
up, and it feels natural that we set it up at the system level.

Ideally, we'd also clean up the centos6-based images, but they require
an update of the centos6-build and centos6-build-upd images on the
docker hub, which is not really convenient, and those images are going
to be obsoleted soon anyways (bug 1399679).

--HG--
extra : rebase_source : 32c9cdf5d0fe8ac2c60a1c5a38e572c83a4783b2
2017-12-26 17:01:55 +09:00
Tom Prince
6cb9a008f4 Bug 1427195: Remove broken prepare_vcs_checkout for comm-central builds in run-task (partial backout of bug 1427061); r=me a=partial backout for breaking thunderbird
MozReview-Commit-ID: 3t6yzzdkan1

--HG--
extra : rebase_source : 8c4885136cdecb81e4099f85710b95a8d998a3ff
2017-12-27 10:58:48 -07:00
Mike Hommey
2498343962 Bug 1427147 - Remove Ubuntu 12.04 setup script. r=dustin
Bug 1389715 removed the image definition in taskcluster/ci/docker-image
as well as the files associated with it in
taskcluster/docker/desktop-test, but the Dockerfile in there was the
only use of the Ubuntu 12.04 setup script, so it is currently unused.

--HG--
extra : rebase_source : 7d8018e7c94e2625ff9822a2d66231722a030394
2017-12-27 12:01:41 +09:00
Mike Hommey
8f7ecd25f9 Bug 1427069 - Don't copy unused setup scripts to the android-build docker image. r=dustin
The debian-build-system-setup.sh script doesn't use the install-make and
install-cmake scripts, so it's unnecessary to install them in /setup.

--HG--
extra : rebase_source : 4ba24b9827e67b9c7ad203e789e00e19d37786da
2017-12-26 17:13:50 +09:00
Mike Hommey
5e8edd5ac5 Bug 1427065 - Remove checkout-script.sh. r=dustin
The script was added in bug 1179893 but looks like it has actually never
been used. A duplicate of the file was used for the upload-symbols
image, but that was removed in bug 1422740.

Since it was the only file in desktop-build/bin, we stop copying the
directory in docker images.

--HG--
extra : rebase_source : 4bcdb5ba0118e87455c6f596bf54e4528fe1b1ef
2017-12-26 15:19:40 +09:00
Mike Hommey
6db7a7faac Bug 1427061 - Only prepare hg store path when at least one checkout is performed. r=dustin
While we're here, add a missing prepare_vcs_checkout for the
comm-central checkout.

--HG--
extra : rebase_source : 788a288330e34b5551ec2b12726a755e268566c2
2017-12-26 13:19:45 +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
Mike Hommey
de81c42aa0 Bug 1426785 - Allow more mach artifact toolchain calls to not use a tooltool manifest. r=gps
We're about to remove some tooltool manifests, so we need those calls to
work properly when TOOLTOOL_MANIFEST is not set.

--HG--
extra : rebase_source : 89d41021a87915dc9133e61543352e3bda1dace4
2017-12-22 07:48:14 +09:00
Mike Hommey
a6e25e84a3 Bug 1426785 - Install gtk+3 in the Centos images used for desktop builds. r=gps
Back when we started needing gtk+3 to build Firefox, we were using mock
to setup the build environment, and a tooltool package was the most
sensible way to handle this.

Fast forward to today, and we're close to moving the build environment
to Debian, which comes with gtk+3 packages. But in order to simplify
the various checks for the transition, it is desirable to stop using the
tooltool package. Which we can actually do in a reasonable way now that
we use docker images instead of mock, by building and installing gtk+3
in the build environment images.

So we modify the script that was producing the gtk+3 tooltool packages
such that it installs gtk+3 in the docker images, both 32 and 64 bits.
And invoke it when creating the desktop build environment docker images.

--HG--
extra : rebase_source : 75e987d6de7f3ae8a3d9b478fc173e191d28aace
2017-12-22 07:41:56 +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