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

203 Коммитов

Автор SHA1 Сообщение Дата
Tom Ritter 14ad913e94 Bug 1403058 Add the MinGW32 browser build to Taskcluster r=glandium
MozReview-Commit-ID: EGWX1EfqBNJ

--HG--
extra : rebase_source : 4cbe0340bad06d4421cd0b106d1dc7a4ab2ec013
2017-10-05 11:46:32 -05:00
Ralph Giles 0c8e4be1c2 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

--HG--
extra : rebase_source : f6329056d518ad2cd25faa5c71b22130cbc65c8f
2017-09-12 16:17:00 -07:00
Tom Ritter 095b4bfda8 Bug 1330608 Add the MinGW32 toolchain build to Taskcluster r=glandium
MozReview-Commit-ID: JHS6y8kqr4T

--HG--
extra : rebase_source : e04692af64312db7028d4123075e02d8b9127ef2
2017-09-22 00:24:58 -05:00
Nick Alexander d017b0874e 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 7997149dd2 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

--HG--
extra : rebase_source : ac7335d45e3e0772d34cb42cc6a3f628564fd3d1
2017-09-15 17:18:13 -07:00
Gregory Szorc 972bb63fcc Backed out changesets ef813898b5d3, ce228388aaf6, and c798f482b2c5 (bug 1396098) for violating TC cache constraints
CLOSED TREE

--HG--
extra : amend_source : 84120d6bacb5d72a9fbe41e4c3b405d63825da7c
extra : histedit_source : 8320c2193761b745f10850055ee74a3c9ac73615%2Cfbc2a28d8c5004a53305ef858ca5aea4245691e0
2017-09-18 13:30:43 -07:00
Nick Alexander c800d7d1f7 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 371e2f7240 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 ba9097540f 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 dbf3ca4b81 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 24e95d7e5e 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 696a8e5320 Bug 1386782 - Add toolchain tasks to build gn in automation. r=ted
MozReview-Commit-ID: 7dDwsQJnzRL

--HG--
extra : rebase_source : be14a5af5648ae0cc0e571ca098307a4d84a7c14
2017-07-25 15:33:44 -07:00
Wander Lairson Costa 6332ed5b0a 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

--HG--
extra : rebase_source : 00827d3f6bd705419bc801eb05b543af1ddc274f
2017-08-28 08:44:51 -03:00
Gregory Szorc 3f5ebbd098 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

--HG--
rename : taskcluster/docker/android-gradle-build/nexus.xml => taskcluster/scripts/builder/build-android-dependencies/nexus.xml
extra : rebase_source : 53848f06820bda7979b2ae15456e07f8aed2363d
2017-08-23 10:34:14 -07:00
Rok Garbas f3a3affcf2 Bug 1284475 - migrate ToolTool blueprint to new codebase of relengapi r=KWierso
UPGRADE_NSS_RELEASE a=kaie
MozReview-Commit-ID: 7CB1VYb8OJP

--HG--
extra : rebase_source : 04751620add813cd1780898d109d9f7fa89d7b2d
2017-08-08 10:55:52 +02:00
Mike Hommey 4931d14f9b Bug 1391533 - Update sccache to 0.2.1. r=ted
--HG--
extra : rebase_source : 29ad12d985b9861146b4d29c621eaf49e9d238ed
2017-08-19 06:48:01 +09:00
Ted Mielczarek 6e49037ae3 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

--HG--
extra : rebase_source : a07f13992f30a29ede29a2167e7f1da8d533fd09
2017-08-16 11:19:35 -07:00
Gregory Szorc d9f61d15da 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

--HG--
extra : rebase_source : caa9e8f3e355710542794efb7f6f92c2ef43ef0a
2017-08-14 16:04:18 -07:00
Nick Alexander 0100ff2b4a 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

--HG--
rename : taskcluster/docker/android-gradle-build/bin/after.sh => taskcluster/scripts/builder/build-android-dependencies/after.sh
rename : taskcluster/docker/android-gradle-build/bin/before.sh => taskcluster/scripts/builder/build-android-dependencies/before.sh
rename : taskcluster/docker/android-gradle-build/bin/repackage-jdk-centos.sh => taskcluster/scripts/builder/build-android-dependencies/repackage-jdk-centos.sh
extra : rebase_source : f94e6b9b780f96038c60d3825039a0f94add0404
2017-08-02 16:41:15 -07:00
Mike Hommey 3507cf061a Backout changeset 25420b520b68 (part of bug 1386588) for asan bustage. a=bustage. 2017-08-03 12:11:40 +09:00
Mike Hommey cf23b5a7fa Bug 1386588 - Add a toolchain job for Clang 4. r=gps 2017-08-03 08:13:07 +09:00
Mike Hommey 1e86c54102 Bug 1386588 - Add a toolchain job for GCC 6. r=gps 2017-08-03 08:13:02 +09:00
Mike Hommey 40d5896697 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 614312f061 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 c15ef2edff 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.


--HG--
rename : build/build-clang/clang-linux64.json => build/build-clang/clang-3.9-linux64.json
rename : taskcluster/scripts/misc/build-gcc-linux.sh => taskcluster/scripts/misc/build-gcc-4.9-linux.sh
2017-08-03 08:12:43 +09:00
Mike Hommey ee6de1e835 Bug 1386588 - Rename the clang build manifests. r=gps
The clang toolchains have not been static-analysis-specific for a while.


--HG--
rename : build/build-clang/clang-static-analysis-linux64.json => build/build-clang/clang-linux64.json
rename : build/build-clang/clang-static-analysis-macosx64.json => build/build-clang/clang-macosx64.json
rename : build/build-clang/clang-static-analysis-win32.json => build/build-clang/clang-win32.json
rename : build/build-clang/clang-static-analysis-win64.json => build/build-clang/clang-win64.json
2017-08-03 08:12:29 +09:00
Nick Alexander 6e4a13fad8 Bug 1376306 - Bootstrap and upload java_home.tar.xz; bump Java to 1.8. r=dustin,sebastian
MozReview-Commit-ID: 3EOsrOp924f

--HG--
rename : taskcluster/scripts/misc/repackage-jdk-centos.sh => taskcluster/docker/android-gradle-build/bin/repackage-jdk-centos.sh
extra : rebase_source : 308d03828a78036076f6cdb68587be6694ac49ae
2017-07-25 20:43:14 -07:00
Ralph Giles ca59d812e5 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

--HG--
extra : rebase_source : d4c9c18c34ab829b59b9e16ec3cd8e736c418fd3
2017-07-26 13:04:57 -07:00
Mike Hommey 0bf47537e7 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.

--HG--
extra : rebase_source : 340d935034133f4f6d8aec3d15154736092859fa
2017-07-27 07:56:14 +09:00
Mike Hommey 07053af0c3 Bug 1384436 - Update sccache to version 0.2.0. r=ted
--HG--
extra : rebase_source : 4ced57d5d65a421dbdf181e6607412bc2b745547
2017-07-26 15:56:56 +09:00
Mike Hommey 4b7a4dc4ce 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.

--HG--
extra : rebase_source : dbc2a36b07611e673d6661032ad53123a688d422
2017-07-14 11:07:40 +09:00
Mike Hommey b4449d7604 Bug 1383996 - Make most calls to `mach artifact toolchain` output a manifest. r=gps
And upload it as artifact.

--HG--
extra : rebase_source : b29cf6fa4527608b45050ad91b4e3248654f1657
2017-07-20 17:56:22 +09:00
Cameron McCormack b210f3946b Bug 1382964 - Part 5: Restore allowed heap write hazards to 3. r=xidorn
MozReview-Commit-ID: LEJh0Gi2ltf

--HG--
extra : rebase_source : c16e689f9824338ff3b1a233b1bfda10849649b8
2017-07-21 16:44:23 +08:00
Mike Hommey 3236fcc629 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.

--HG--
extra : rebase_source : 008b8cf33957eabfcacee61de8a260b5df146ab4
2017-07-21 07:30:14 +09:00
Mike Hommey 09db7d4793 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.

--HG--
extra : rebase_source : 277daa2c83d6d197975cb4ef36ee131176afa992
2017-06-21 15:18:33 +09:00
Jeremy Chen a9f3953446 Bug 1382956 - ease the hazard tolerance number for Bug 1380133. r=jeremychen
This is a quick work around for not blocking the progress of Bug 1380133.
We should definely investigate the real root cause sooner than later.

MozReview-Commit-ID: 8X1FH6f2GyN

--HG--
extra : rebase_source : 9edaec6a50f7251e3c05d9fbc252e1385d82a1bb
2017-07-21 16:04:30 +08:00
Sebastian Hengst 67cbdbd702 Backed out changeset 498c1859cee1 (bug 1382956) for containing unrelated changes. r=backout on request from jeremychen 2017-07-21 10:16:49 +02:00
Jeremy Chen ddf2f0c279 Bug 1382956 - ease the hazard tolerance number for Bug 1380133. r=jeremychen
This is a quick work around for not blocking the progress of Bug 1380133.
We should definely investigate the real root cause sooner than later.

MozReview-Commit-ID: 8X1FH6f2GyN
2017-07-21 16:07:50 +08:00
Gregory Szorc a83c0b81cd Bug 1377216 - Unset MOZ_AUTOMATION when building SpiderMonkey from package; r=glandium
We're about to make MOZ_AUTOMATION more strict about things like having
a source checkout.

The whole point of build-sm-package.sh is to verify that SpiderMonkey
can be built outside of Mozilla's source repo and automation from a
standalone package. Since the presence of MOZ_AUTOMATION can influence
so much behavior in the build system, unset it so that the job
tests a !Mozilla environment more accurately.

MozReview-Commit-ID: EMfyLKfY0uU

--HG--
extra : rebase_source : 3632a9abf9fac3f916ed9043f30d4b6aa4abb390
2017-07-18 17:39:27 -07:00
Ryan VanderMeulen 741a7a5ea3 Backed out 6 changesets (bug 1377216) for SM(pkg) bustage on a CLOSED TREE.
Backed out changeset b5701f3ce506 (bug 1377216)
Backed out changeset 1f37aebe0f43 (bug 1377216)
Backed out changeset c8931588f674 (bug 1377216)
Backed out changeset ded5328ba74c (bug 1377216)
Backed out changeset 6cb234539746 (bug 1377216)
Backed out changeset ce836965fd58 (bug 1377216)
2017-07-19 22:14:03 -04:00
Gregory Szorc 22586623b5 Bug 1377216 - Unset MOZ_AUTOMATION when building SpiderMonkey from package; r=glandium
We're about to make MOZ_AUTOMATION more strict about things like having
a source checkout.

The whole point of build-sm-package.sh is to verify that SpiderMonkey
can be built outside of Mozilla's source repo and automation from a
standalone package. Since the presence of MOZ_AUTOMATION can influence
so much behavior in the build system, unset it so that the job
tests a !Mozilla environment more accurately.

MozReview-Commit-ID: EMfyLKfY0uU

--HG--
extra : rebase_source : 3632a9abf9fac3f916ed9043f30d4b6aa4abb390
2017-07-18 17:39:27 -07:00
Mike Hommey 44f53ed5e4 Bug 1381770 - In tooltool-download.sh, automatically setup the relengapi authentication file. r=mshal
--HG--
extra : rebase_source : 2c90085cb84737787cfdb714fc5d79a07daed34e
2017-07-18 16:13:26 +09:00
Mike Hommey d66c310fb7 Bug 1381770 - In tooltool-download.sh, only use the relengapi proxy when it's configured. r=mshal
--HG--
extra : rebase_source : 971e4eab1a5a04dc68ba566b2e963e3f61f53b82
2017-07-18 16:12:58 +09:00
Mike Hommey b9707356ff 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.

--HG--
extra : rebase_source : d85797f8eebff9be5b8bfc45fc14dfaf8d5a59f3
2017-07-18 14:51:04 +09:00
Mike Hommey f9e501f5c6 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.

--HG--
extra : rebase_source : c91542da70109e5708a009542a0f588e30b541a9
2017-07-18 14:49:05 +09:00
Wes Kocher 62d8e4f4fa Backed out changeset f8a62747c51c (bug 1338651) for valgrind issues a=backout 2017-06-30 14:45:26 -07:00
Wander Lairson Costa c0abc737f5 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

--HG--
extra : source : feedcde68c2a54da210f03eb287ab5c862fc982b
extra : intermediate-source : 485d1af7805ad9fa0e701c3571fc1291fbfc6850
2017-06-29 15:45:01 -07:00
Manish Goregaokar 5f46f56cb9 Bug 1370734 - Fix hazards ; r=bustage
MozReview-Commit-ID: 1H4VwQ3Jdg6
2017-06-08 08:25:10 -07:00
Wes Kocher baffccc880 Bug 1370734 - Temporarily increase the number of allowed write hazards until issues can be sorted out a=me
MozReview-Commit-ID: EmfQim9kpIw
2017-06-07 17:53:50 -07:00
Mike Hommey 098482a936 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.

--HG--
extra : rebase_source : cbab2e32d78d711fcb595763d0c2600c7c0c423e
2017-06-06 16:33:36 +09:00