Commit Graph

222 Commits

Author SHA1 Message Date
Sebastian Hengst
08efa86e76 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 1h3kZyrtqSt
2017-10-17 11:45:16 +02:00
David Major
2c86a9ff2a Bug 1409044 - Pass the tooltool authentication file in Spidermonkey builds. r=Callek 2017-10-16 11:43:34 -04:00
Tom Ritter
fb7b98a511 Bug 1407359 Set up a framework for patching the MinGW toolchain r=glandium
MozReview-Commit-ID: 8HtjLXAIXTP
2017-10-16 20:52:47 -05:00
Nick Alexander
6f7d566a28 Bug 1405413 - Migrate Gradle dependency fetching to toolchain dependencies. r=dustin
MozReview-Commit-ID: 6OOD4mhICG1
2017-10-13 12:59:04 -07:00
Sebastian Hengst
76caff3b45 merge mozilla-central to autoland. r=merge a=merge 2017-10-14 00:02:17 +02:00
Sebastian Hengst
19a8f38c77 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 9adaYBJ4tlo
2017-10-13 23:37:41 +02:00
Steve Fink
6acf92722e Bug 1339989 - Create a sixgill compilation toolchain job, r=glandium 2017-10-09 17:49:29 -07:00
Nick Alexander
98fc1233c6 Bug 1405412 - Post: Remove JDK repackaging script. r=dustin
I don't think (the output of) this script is used anywhere.

MozReview-Commit-ID: DwMFtpozjNL
2017-10-05 16:57:40 -07:00
Nick Alexander
d50cf143cc Bug 1405412 - Migrate Android SDK to android-sdk-linux toolchain task. r=dustin
The only tricky piece here is that the resulting toolchain archive is
private, and uses a newly allocated Task Cluster scope
(queue:get-artifact:project/gecko/android-sdk/*) to restrict access to
the archive.  All SCM levels (1, 2, 3) have been given the new scope:
see https://tools.taskcluster.net/auth/roles/moz-tree:level:1 and
friends.

MozReview-Commit-ID: CcDqDOHODpe
2017-10-03 11:45:27 -07:00
Mike Hommey
d6545dc1ae Bug 1408277 - Add a toolchain job for clang 5.0. r=froydnj 2017-10-13 13:22:41 +09:00
Nick Alexander
50aa33f92c Bug 1352599 - Part 1: Add a Proguard toolchain task for Android builds. r=froydnj
MozReview-Commit-ID: 5lyHGLkzyg
2017-10-02 13:27:51 -07:00
Tom Ritter
932c00bf6f Bug 1407289 Bump MinGW commit r=froydnj
MozReview-Commit-ID: KkG5ODa5WWl
2017-10-10 20:42:00 -05:00
Sebastian Hengst
9fc8976291 Backed out changeset 52a05ad77fa5 (bug 1352599) for failing build at python/mozbuild/mozbuild/test/configure/lint.py::Lint::test_mobile_android. r=backout on a CLOSED TREE 2017-10-12 23:43:02 +02:00
Sebastian Hengst
db116567c6 Backed out changeset 5f4ff0de7242 (bug 1405412) 2017-10-12 23:41:30 +02:00
Sebastian Hengst
5b5f2ba3e5 Backed out changeset 44f885bc7c22 (bug 1405412) 2017-10-12 23:41:25 +02:00
Nick Alexander
35bbf01a45 Bug 1405412 - Post: Remove JDK repackaging script. r=dustin
I don't think (the output of) this script is used anywhere.

MozReview-Commit-ID: DwMFtpozjNL
2017-10-05 16:57:40 -07:00
Nick Alexander
22be20eec2 Bug 1405412 - Migrate Android SDK to android-sdk-linux toolchain task. r=dustin
The only tricky piece here is that the resulting toolchain archive is
private, and uses a newly allocated Task Cluster scope
(queue:get-artifact:project/gecko/android-sdk/*) to restrict access to
the archive.  All SCM levels (1, 2, 3) have been given the new scope:
see https://tools.taskcluster.net/auth/roles/moz-tree:level:1 and
friends.

MozReview-Commit-ID: CcDqDOHODpe
2017-10-03 11:45:27 -07:00
Nick Alexander
ea2566c47a Bug 1352599 - Part 1: Add a Proguard toolchain task for Android builds. r=froydnj
MozReview-Commit-ID: 5lyHGLkzyg
2017-10-02 13:27:51 -07:00
Mike Hommey
d60aa34028 Bug 1408284 - Build sccache with gcc instead of clang. r=ted
When adding sccache toolchain jobs in bug 1381772, building with gcc
failed, and building with clang worked, so I just went with the path of
least resistance. That's however a suboptimal position in the dependency
graph, so it's still preferable to use gcc if possible.

Looking exactly how it fails, it turns out it's because without CC being
set, ring wants to build with "cc", which ends up being the system gcc
instead of ours (our gcc archive doesn't provide "cc", only "gcc"), and
it is too old to support the compiler flags ring uses.

So setting CC does the trick.
2017-10-13 14:27:13 +09:00
Tom Ritter
55b9ab426d Bug 1403058 Add the MinGW32 browser build to Taskcluster r=glandium
MozReview-Commit-ID: EGWX1EfqBNJ
2017-10-05 11:46:32 -05:00
Ralph Giles
ceb6a1943c Bug 1391427 - Port the repack_rust script to taskcluster. r=glandium
Copy the repack_rust.py from the rust-build docker container
so it can be used more generally by other taskcluster jobs.

Add --host, --target, and --suffix switches, allowing control
of the packaged toolchain and standard library builds from
the command line.

This drops the previous default behaviour of packaging all
supported platforms and targets.

Add a hard-coded copy of the Rust release signing key to
the script and add it to the running user's gpg config
so we can validate downloaded artifacts from the project
in automation.

Remove the keybase artifact validation since it requires
out-of-project network services and doesn't provide much
advantage in automation.

Calculate the SHA-2 checksum during download and remove
the dependency on shasum/sha256sum command-line tools.

Use more python for filesystem an process interaction
in general.

Create a generic rustc.tar.* package to correctly match
the unversioned unpack dirctory name.

Add support for copying the package to an output directory
if the UPLOAD_DIR environment variable is set. This lets
us hook up the script to taskcluster toolchain jobs without
an external wrapper.

MozReview-Commit-ID: 68LmY3QVU8V
2017-09-12 16:17:00 -07:00
Tom Ritter
32e47f847b Bug 1330608 Add the MinGW32 toolchain build to Taskcluster r=glandium
MozReview-Commit-ID: JHS6y8kqr4T
2017-09-22 00:24:58 -05:00
Nick Alexander
020608bac5 Bug 1396098 - part 1 - base android-build on Debian instead of CentOS; r=glandium,dustin
CentOS 6 is pinned to glibc 2.12, but newer Android build-tools (like
aapt) require glibc 2.14.  It's not possible to safely upgrade CentOS
6 distributions to glibc 2.14.

CentOS 7 is pinned to glibc 2.17, which is new enough for newer
Android build-tools. However, I had great difficulty bringing forward
our existing centos:6 Docker image to centos:7.  In particular,
installing recent enough Mercurial, git, Python, and pip versions was
difficult enough that I elected to not pursue this approach.

Instead, I've elected to follow glandium's suggestion from
https://bugzilla.mozilla.org/show_bug.cgi?id=1370119#c5: base on
Debian with snapshots.debian.org for reproducibility.

The most significant changes here:

- using Debian's snapshots repository
- using Python and related tools provided by Debian and baked into the
  build image
- using the JDK and JRE provided by Debian and baked into the build
  image, rather than versions from tooltool (or eventually a toolchain
  build)

Moving the builds over to use this image will follow in the patches
ahead.
2017-09-18 15:38:22 -04:00
Steve Fink
c5e8fb5f1f Bug 1400442 - Trim down whitelists to only what is required, and mark all known issues with bug numbers, r=jonco
I also snuck in some last-minute assertions and minor fixes into this patch:

- don't stop reporting for a callee if we've seen it already (or rather, make the reachable set local to a root rather than global to all roots). This slows down runs with hundreds of hazards, but results in every problematic root being reported, for a more accurate count.

- annotate away some thread assertions

- special-case annotation for bug 1400435 since it's a whole family of hazards
2017-09-15 17:18:13 -07:00
Gregory Szorc
7495229000 Backed out changesets ef813898b5d3, ce228388aaf6, and c798f482b2c5 (bug 1396098) for violating TC cache constraints
CLOSED TREE
2017-09-18 13:30:43 -07:00
Nick Alexander
80be0903de Bug 1396098 - part 1 - base android-build on Debian instead of CentOS; r=glandium,dustin
CentOS 6 is pinned to glibc 2.12, but newer Android build-tools (like
aapt) require glibc 2.14.  It's not possible to safely upgrade CentOS
6 distributions to glibc 2.14.

CentOS 7 is pinned to glibc 2.17, which is new enough for newer
Android build-tools. However, I had great difficulty bringing forward
our existing centos:6 Docker image to centos:7.  In particular,
installing recent enough Mercurial, git, Python, and pip versions was
difficult enough that I elected to not pursue this approach.

Instead, I've elected to follow glandium's suggestion from
https://bugzilla.mozilla.org/show_bug.cgi?id=1370119#c5: base on
Debian with snapshots.debian.org for reproducibility.

The most significant changes here:

- using Debian's snapshots repository
- using Python and related tools provided by Debian and baked into the
  build image
- using the JDK and JRE provided by Debian and baked into the build
  image, rather than versions from tooltool (or eventually a toolchain
  build)

Moving the builds over to use this image will follow in the patches
ahead.
2017-09-18 15:38:22 -04:00
Nick Alexander
92fec070b6 Bug 1396098 - part 0a - only source xvfb.sh if we need xvfb; r=glandium
No sense doing unnecessary work.
2017-09-15 14:52:24 -04:00
Stephen A Pohl
a284842d0e Bug 1324892: Update toolchain paths to point to the macOS 10.11 SDK. r=ted 2017-09-08 15:49:29 -04:00
Nick Fitzgerald
6af810fd84 Bug 1277338 - Part 10: Add the SM-tc(rust) taskcluster task; r=sfink
This adds a new SpiderMonkey taskcluster test task that builds and tests the
js/rust crate.
2017-09-05 09:26:21 -07:00
Nathan Froyd
0364508dda Bug 1395722 - link openssl statically when building sccache; r=ted.mielczarek
Our current sccache build links in openssl's libraries dynamically.  The
sonames of the dynamic libraries linked in are specific to the
CentOS/Fedora-ish systems that we build on; attempting to run the
generated sccache binaries on different systems (e.g. Debian-ish) will
result in failure.  All of our current automation images are
CentOS-based, but for various reasons, Debian-based images may be used
in the future, and it would be great to have an sccache binary to run on
such systems as well.  (It might also be interesting to distribute the
sccache binary we use to local developers as well, but that's a bit
further off.)

Therefore, this patch alters the sccache build on Linux to use static
linking for openssl.  We cannot use the system openssl we build on
because the system openssl links to libkrb5, and the distribution we use
for the system images does not provide static libraries of libkrb5.
Building openssl ourself enables us to eliminate the libkrb5 dependency.

An sccache binary from builds with this patch depends on the following
libraries:

froydnj@hawkeye:~$ ldd sccache2/sccache
	linux-vdso.so.1 =>  (0x00007ffe02b39000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff0e7403000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff0e71fb000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff0e6fdd000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007ff0e6dc6000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff0e69fc000)
	/lib64/ld-linux-x86-64.so.2 (0x0000557c8540b000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff0e66f2000)

which are standard on any Linux distribution.
2017-09-05 11:37:51 -04:00
Chris Manchester
d178307738 Bug 1386782 - Add toolchain tasks to build gn in automation. r=ted
MozReview-Commit-ID: 7dDwsQJnzRL
2017-07-25 15:33:44 -07:00
Wander Lairson Costa
6b7f9ef0d1 Bug 1338651 part 1: Change docker image home dir to /build. r=dustin,mshal
Using /home/worker is the build directory has a 30% talos performance
loss, because test machines has a /home mount directory.

MozReview-Commit-ID: 554IPMRWgzK
2017-08-28 08:44:51 -03:00
Gregory Szorc
13fbc64bc2 Bug 1391476 - Don't install nexus.xml in a Docker volume; r=mshal
We're about to ban files in Docker volumes so they behave almost
identically to caches (which start empty).

We move the install of nexus.xml from Docker image time to
task time. This also means that changes to nexus.xml don't result
in having to rebuild the Docker image.

MozReview-Commit-ID: JIjeJN4mt2
2017-08-23 10:34:14 -07:00
Rok Garbas
9d7ac6a8ed Bug 1284475 - migrate ToolTool blueprint to new codebase of relengapi r=KWierso
UPGRADE_NSS_RELEASE a=kaie
MozReview-Commit-ID: 7CB1VYb8OJP
2017-08-08 10:55:52 +02:00
Mike Hommey
bab8b07397 Bug 1391533 - Update sccache to 0.2.1. r=ted 2017-08-19 06:48:01 +09:00
Ted Mielczarek
8c5a1716fa bug 1385386 - update sccache to revision 210bc791513ed8362b17a492a1f35a621cca64ff. r=glandium
This picks up a fix we need to update the OS X SDK we build with.

MozReview-Commit-ID: 8dvq4JV1o7q
2017-08-16 11:19:35 -07:00
Gregory Szorc
6e5b339435 Bug 1389715 - Remove legacy Ubuntu 12.04 desktop-test image; r=jmaher
AFAICT there are no more in-tree references to this image. That
should mean we can nuke it. So do that.

MozReview-Commit-ID: 9LUGjt46ZCi
2017-08-14 16:04:18 -07:00
Nick Alexander
9128ef6ae1 Bug 1383973 - Introduce single build script for run: using: mozharness. r=dustin
The old process ran "before" and "after" steps as root.  The
mozharness script doesn't run as root, which required some small
changes to not run Sonatype Nexus as root.  Everything else is a
straight-forward move of the scripts out of the `android-gradle-build`
image and into `taskcluster/scripts`.

MozReview-Commit-ID: CqnNI33OKmb
2017-08-02 16:41:15 -07:00
Mike Hommey
d3f9a99ee3 Backout changeset 25420b520b68 (part of bug 1386588) for asan bustage. a=bustage. 2017-08-03 12:11:40 +09:00
Mike Hommey
9a620197fa Bug 1386588 - Add a toolchain job for Clang 4. r=gps 2017-08-03 08:13:07 +09:00
Mike Hommey
709316595d Bug 1386588 - Add a toolchain job for GCC 6. r=gps 2017-08-03 08:13:02 +09:00
Mike Hommey
d656cb623e Bug 1386588 - Add a toolchain job for GCC 4.8, and build clang against it. r=gps
While this looks like going backwards, it is desirable to build clang
against GCC 4.8, such that it contains its libgcc. This, in turn, will
solve problems using clang 3.9 with static-analysis builds (details in
bug 1356926). Another way to fix those problems would be to build clang
3.8 but that too would require GCC 4.8. Upgrading those builds to clang
3.9 will also allow to enable stylo on them.
2017-08-03 08:12:52 +09:00
Mike Hommey
4ee77ba26c Bug 1386588 - Change the GCC build script to be future-proof. r=gps
It becomes a library of some sort, so that multiple scripts can benefit
from it to build different versions of GCC.

The GPG key associated with GCC is also refreshed from keys.gnupg.net,
adding a new subkey, used to sign newer versions of GCC (and
postprocessed with pgpstrip to make it smaller).
2017-08-03 08:12:47 +09:00
Mike Hommey
d57901042c Bug 1386588 - Rename the linux64-clang and linux64-gcc jobs to include a version number. r=gps
We're soon going to build multiple versions of clang and gcc for linux,
and we need to differentiate them. Furthermore, there is a need for the
base-toolchains builds to use a fixed version of clang and gcc. So
rename the clang and gcc toolchain jobs to include their version, add
aliases to satisfy all existing jobs, and adjust the base-toolchains
jobs to use the explicit version.
2017-08-03 08:12:43 +09:00
Mike Hommey
e14ea56140 Bug 1386588 - Rename the clang build manifests. r=gps
The clang toolchains have not been static-analysis-specific for a while.
2017-08-03 08:12:29 +09:00
Nick Alexander
70b7340f0a Bug 1376306 - Bootstrap and upload java_home.tar.xz; bump Java to 1.8. r=dustin,sebastian
MozReview-Commit-ID: 3EOsrOp924f
2017-07-25 20:43:14 -07:00
Ralph Giles
1d7030c926 Bug 1384258 - Ease the hazard tolerance for stylo. r=xidorn
Allow an extra heap write hazard introduced by enabling stylo
in default builds until it can be addressed. See bug 1384625.

MozReview-Commit-ID: 2N3z6FVHa0G
2017-07-26 13:04:57 -07:00
Mike Hommey
b828c6ac72 Bug 1384744 - Allow toolchain tasks not to have a tooltool manifest at all. r=gps
With the support added in bug 1382564, toolchains can be downloaded
without a tooltool manifest at all, and it's desirable to get rid of
tooltool manifests on jobs that don't need one.
2017-07-27 07:56:14 +09:00
Mike Hommey
bfb16a3cfe Bug 1384436 - Update sccache to version 0.2.0. r=ted 2017-07-26 15:56:56 +09:00
Mike Hommey
5937b178ee Bug 1381772 - Add taskcluster jobs to build sccache for automation. r=ted
The MinGit tooltool package used for Windows builds comes straight from
https://github.com/git-for-windows/git/releases/

This builds the version currently used on automation.
2017-07-14 11:07:40 +09:00