Commit Graph

92 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
Mike Hommey
a41204467f Bug 1383996 - Make most calls to mach artifact toolchain output a manifest. r=gps
And upload it as artifact.
2017-07-20 17:56:22 +09:00
Mike Hommey
daaefe8df9 Bug 1382860 - Use docker_worker_add_public_artifacts for toolchain docker-worker jobs. r=dustin
This affects the location of the artifacts directory, so adjust the
scripts and artifact definitions as a consequence.
2017-07-21 07:30:14 +09:00
Mike Hommey
3e2fbffd22 Bug 1382564 - Use the information from bug 1374940 with mach artifact toolchain. r=gps
Bug 1374940 adds 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.

We want to use that to pull artifacts instead of tooltool packages.
2017-06-21 15:18:33 +09:00
Mike Hommey
4e4fddccc4 Bug 1381770 - In tooltool-download.sh, automatically setup the relengapi authentication file. r=mshal 2017-07-18 16:13:26 +09:00
Mike Hommey
32193cedb0 Bug 1381770 - In tooltool-download.sh, only use the relengapi proxy when it's configured. r=mshal 2017-07-18 16:12:58 +09:00
Mike Hommey
e28de2946c Bug 1381770 - Enable multiple download retries in tooltool-download.sh. r=mshal
The scripts that use tooltool-download.sh don't run regularly, but when
they do, they might hit some download problems (the relengapi proxy
tends to be rather unreliable for some reason), and in that case, it
would be better to retry a few times, like other job types, rather than
fail directly.
2017-07-18 14:51:04 +09:00
Mike Hommey
d9682ba406 Bug 1381770 - Use $WORKSPACE instead of $HOME/workspace in tooltool-download.sh. r=mshal
All the current users of tooltool-download.sh set $WORKSPACE. This will
allow to reuse the script on different types of workers, that don't have
$WORKSPACE set to $HOME/workspace, but still have the source in
$WORKSPACE/build/src.
2017-07-18 14:49:05 +09:00
Wes Kocher
87809bff97 Backed out changeset f8a62747c51c (bug 1338651) for valgrind issues a=backout 2017-06-30 14:45:26 -07:00
Wander Lairson Costa
484b2f6d33 Bug 1338651: Change docker image home dir to /build. r=dustin,mshal a=hopefullyavoidingmergebustagelater
Using /home/worker is the build directory has a 30% talos performance
loss, because test machines has a /home mount directory.

MozReview-Commit-ID: zehcGJrUQX
2017-06-29 15:45:01 -07:00
Mike Hommey
dbb90186c0 Bug 1356952 - Move tooltool manifests defined in toolchain build scripts to taskcluster job definitions. r=mshal
The toolchain build scripts are currently defining the tooltool
manifest they use on their own. We move the definitions to the
taskcluster job definitions to normalize on everything using that.
2017-06-06 16:33:36 +09:00
Mike Hommey
b964f25405 Bug 1356140 - Enable tooltool cache on jobs that define one but don't use it. r=chmanchester 2017-04-13 16:26:33 +09:00
Mike Hommey
db0a94f438 Bug 1356683 - Use new tooltool wrapper in Linux and OSX clang toolchain builds. r=chmanchester 2017-04-12 17:59:21 +09:00
Mike Hommey
994e910e80 Bug 1356683 - Use new tooltool wrapper in Windows clang toolchain builds. r=chmanchester 2017-04-12 17:55:56 +09:00
Mike Hommey
10f260de3c Bug 1356933 - Use tooltool-download.sh helper in cctools build scripts. r=chmanchester
While here, since the tooltool call from the cctools build scripts was
verbose, make the one in tooltool-download.sh verbose. It will benefit
the other things using tooltool-download.sh, making debugging easier
when one needs to look at the tooltool download logs...
2017-04-17 08:34:24 +09:00
Iris Hsiao
2cc99b0fa6 Backed out changeset 14010d77d56a (bug 1356933) for invisible bustage 2017-04-18 13:33:00 +08:00
Mike Hommey
627ec3c433 Bug 1356994 - Add a top-level directory to the libdmg-hfsplus source tarball. r=ted
Also change the README of the dmg tarball to point to the artifact url
directly.
2017-04-17 17:24:40 +09:00