Commit Graph

119 Commits

Author SHA1 Message Date
Mike Hommey
520f9865db Bug 1432397 - Switch mingw builds to a Debian stretch-based docker image. r=dustin
Don't build ucl when building upx, Debian stretch has a recent enough
version. In fact, the last upstream version doesn't build with GCC in
Debian stretch (http://bugs.debian.org/811707)

--HG--
extra : rebase_source : aae67773b9dd3b99f6ddf9ab7f59a628037e6925
2018-01-26 14:39:07 +09:00
Ralph Giles
dc8c14e96a Bug 1433185 - Require Rust 1.23. r=nalexander
It's been more than two weeks since the 1.23 stable release, and
we're making official builds with that toolchain release, so begin
requiring that version so new language features can be used in
development.

MozReview-Commit-ID: E6WuP41ceTn

--HG--
extra : rebase_source : 75850dd9edbf8e3f9beab394e4af7fad76ce3b17
2018-01-25 10:29:11 -08:00
Ralph Giles
a1f8916fd3 Bug 1418081 - Update builders to rust 1.23.0. r=ted
New upstream release.

- Avoiding argument copies improves memory footprint.
- RwLock<T> no longer requires T to be Send.
- AsciiExt trait methods are now directly available
  on str, [u8], u8, and char types without a `use`
  statement.

MozReview-Commit-ID: 7Rx8uoNTMqH

--HG--
extra : rebase_source : 39d6297d61d19d710a1376557e4b4d81bdab02c9
2018-01-08 09:05:31 -08:00
Mike Hommey
4ddb944ee0 Bug 1399679 - Use debian7-*-build instead of desktop-build. r=gps
Switch almost all builds currently using the desktop-build image to use
the right debian7-*-build image instead. The only exception is the rust
bindgen spidermonkey builds, that require cmake being installed, but I
don't want to add it to the base images because that involves risking a
cmake dependency unwantedly slipping in Firefox (rust-bindgen ironically
requires cmake to build a single C++ file...)
2018-01-23 13:14:18 +09:00
Mike Hommey
d82350c48a Bug 1429998 - Exclude toolchain and package tasks from the target task set. r=dustin
Back in bug 1360609, we added `run-on-projects` to a list so that the
toolchain tasks wouldn't run on every push on release branches.

Fast forward to now, and they're depended upon by other tasks, meaning
they are triggered when appropriate, without resorting to that trick. In
fact, the commit message for bug 1360609 said we could switch to an
empty list once the jobs have dependencies.

The same is true from package tasks, which, in fact, I suspect would
happen on every push on release branches.

The only exception is for a few toolchains that are depended upon by
nothing, and that are produced for developer consumption with e.g. mach
artifact toolchain.

--HG--
extra : rebase_source : bb8624fed7490b85f4bd72b7ceb2db7a72b4c2ab
2018-01-17 14:30:57 +09:00
Mike Hommey
b7f54b9288 Bug 1430315 - Add a toolchain job to build llvm-dsymutil independently. r=rillian
We've had problems with crashes in llvm-dsymutil for a while, and while
they are, in essence, due to the fact that rustc produces bad debug
info, they are a hurdle to our builds. The tool comes along clang, and
updating clang is not necessarily easy (witness bug 1409265), so, so
far, we've relied on backporting fixes, which can be time confusing
(witness bug 1410148).

OTOH, llvm-dsymutil is a rather specific tool, that doesn't strictly
need to be tied to clang. It's only tied to it because it uses the llvm
code to do some of the things it does, and it's part of the llvm source
tree. But it could just as well be a separate tool, like it was(is?) on
OSX.

So, we add a toolchain job to build it from the llvm source,
independently from clang, so that we can update it separately, if we
hit new crashes that happen to already be fixed on llvm trunk. It will
also allow to more easily update after upstream fixes crashes after we
report them.

--HG--
extra : rebase_source : b814353b4b4632e46646a24b8f54c5300618ff49
2018-01-16 16:23:33 +09:00
Mike Hommey
a6d328e83e Bug 1430087 - Build sccache with system GCC/binutils. r=nfroyd
It was failing to build with the GCC/binutils on the CentOS-based docker
image, but it doesn't with the Debian-based one, so we can remove the
dependency on the gcc toolchain task. This allows sccache to remain
untouched when we change the gcc build scripts, and more importantly,
this allows it to depend on no toolchain that requires building things.

This makes it now possible to use sccache as a dependency for all other
toolchains jobs that compile, if that's beneficial (which might not be
the case, given the current sccache retention time, but at least it's a
viable option, now)
2018-01-13 05:57:57 +09:00
Mike Hommey
1b4c9cdebd Bug 1427340 - Build toolchains on a Debian-based docker image. r=gps
... except libdmg-hfsplus. RedHat decided to patch libbz2 to have a
different soname, so a binary built on Debian can't run on
RedHat/CentOS. Ironically, a binary built on RedHat/CentOS can run
on Debian. While we could use some tricks to make libdmg-hfsplus built
on Debian work, at this point, it's not worth the effort. We can live
with libdmg-hfsplus being built on CentOS until the builds that use it
switch to Debian, which is imminent.

... and except mingw32-nsis. Sourceforce renewed their certificate last
week and somehow the corresponding CA is not yet recognized by the
ca-certificates in Debian wheezy (an update is underway but see below)

... and except wine, because it requires more 32-bits packages than can
be installed on the toolchain-build docker image. But all things
considered, the mingw32 builds don't need to be using the same docker
images as the linux builds, and they could be, like the android builds,
be based on a more recent build image. So the corresponding toolchains
can be built on a more recent version of Debian too.

Consequently, we keep all the mingw32 related toolchains on the
desktop-build image for now.
2018-01-12 21:31:10 +09:00
Nick Alexander
0120e4ec8d Bug 1429210 - Avoid expensive filesystem walk for **/*.gradle. r=gps
MozReview-Commit-ID: KNHEABnoUtA

--HG--
extra : rebase_source : 639e9bf5a3f368d1ebf273a67cf94bd00a442f3e
2018-01-08 14:08:53 -08:00
Narcis Beleuzu
56d3b51d2b Backed out changeset fa0e2d59775c (bug 1418081) for valgrind-test failure. r=backout a=backout on a CLOSED TREE 2018-01-09 20:30:34 +02:00
Ralph Giles
648191d7c5 Bug 1418081 - Update builders to rust 1.23.0. r=ted
New upstream release.

- Avoiding argument copies improves memory footprint.
- RwLock<T> no longer requires T to be Send.
- AsciiExt trait methods are now directly available
  on str, [u8], u8, and char types without a `use`
  statement.

MozReview-Commit-ID: 7Rx8uoNTMqH

--HG--
extra : rebase_source : 54068e34eaf6ccdbcc854fafb94d2a66fd068adf
2018-01-08 09:05:31 -08:00
Mike Hommey
5d73d0f334 Bug 1427339 - Build GCC on a Debian-based docker image. r=gps 2018-01-06 14:19:32 +09:00
Ralph Giles
c24e4ff3bb 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 : 6a0ae401534fe865a045073dc65ad23b812ffad8
2017-12-13 22:41:29 -06: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
Ralph Giles
e22361a5ac Bug 1421097 - Require at least Rust 1.22.1. r=ted
Bump the minimum required Rust version now that 1.22.1
has been in stable release for more than two weeks.

Version 1.22.0 works fine everywhere but macOS 10.13,
but 1.22.1 was released the same day, so it's no harder
to upgrade to.

Also update the base-toolchain builds to ensure we
continue to build with this version.

MozReview-Commit-ID: GlRWUNE07G0

--HG--
extra : rebase_source : f37585db5633e6e64b02bc94c2516b5ab18c3e15
2017-12-07 21:08:53 -08:00
Ralph Giles
044f2d01c1 Bug 1421100 - Update win32 builders to rust 1.23.0-beta.2. r=ted
Work around address space exhaustion with 32-bit Rust
on Windows by building with the current beta, which
does not show the problem, likely because of more
efficient llvm ir generation.

See bug 1417268 for discussion.

MozReview-Commit-ID: 1MkFsi4REah

--HG--
extra : rebase_source : 039800ad3e87fdc7b9e24a64a7da4f36c5e8fd75
2017-12-07 20:33:22 -08:00
Nick Alexander
2341c27f8f Bug 1417232 - Post: Add gradle.configure to android-* tasks. r=ted.mielczarek
With Gradle integration centralized in gradle.configure, changing
these integration points will need to trigger the android-* tasks.

MozReview-Commit-ID: DuOuW1RIgCh

--HG--
extra : rebase_source : a3f0a76b1ae6b3cd952271782f9d0c2463b704e0
2017-11-14 10:15:30 -08:00
shindli
53c3b17b09 Backed out 6 changesets (bug 1417232) for failing in /python/mozbuild/mozbuild/test/configure/lint.py::Lint::test_mobile_android r=backout on a CLOSED TREE
Backed out changeset 06e72cdd94a5 (bug 1417232)
Backed out changeset 036308b8fe6b (bug 1417232)
Backed out changeset bb63e12fea6f (bug 1417232)
Backed out changeset d0a9d2d4c5b7 (bug 1417232)
Backed out changeset b613dde03d99 (bug 1417232)
Backed out changeset 8699e19b02e5 (bug 1417232)
2017-12-08 01:25:05 +02:00
Nick Alexander
e190805a01 Bug 1417232 - Post: Add gradle.configure to android-* tasks. r=ted.mielczarek
With Gradle integration centralized in gradle.configure, changing
these integration points will need to trigger the android-* tasks.

MozReview-Commit-ID: DuOuW1RIgCh

--HG--
extra : rebase_source : 9aecfab8a8ce41441fb4c25021b14263d9c115c2
2017-11-14 10:15:30 -08:00
Tiberius Oros
b17d65a13a Backed out changeset c2f814fa49aa (bug 1421100)for failing Windows x32 web platform tests /encoding/api-replacement-encodings.html r=backout on a CLOSED TREE 2017-11-28 22:23:03 +02:00
Tiberius Oros
ac8b946ce6 Backed out changeset 40099ea55a13 (bug 1421349)for windows 32-bit failures r=backout on a CLOSED TREE 2017-11-28 22:21:04 +02:00
Ralph Giles
3ef5b3416e Bug 1421349 - Remove beta from win32 rust treeherder symbol. r=nalexander
This doesn't offer much advantage since it's the still
the primary rust builders are using for this target.
I meant to remove it before landing bug 1421100.

MozReview-Commit-ID: ATYlPWFFs8O

--HG--
extra : rebase_source : 3cf8818e29d2d25b72715e197a3d66491c6409d0
2017-11-28 09:43:44 -08:00
Ralph Giles
f5d6b06185 Bug 1421100 - Update win32 builders to rust 1.23.0-beta.1. r=ted
Work around address space exhaustion with 32-bit Rust
on Windows by building with the current beta, which
does not show the problem, likely because of more
efficient llvm ir generation.

See bug 1417268 for discussion.

MozReview-Commit-ID: 1MkFsi4REah

--HG--
extra : rebase_source : 653478fbde2a64d1f08fe6708fa4126e38452060
2017-11-27 14:41:24 -08:00
Ralph Giles
269d52e838 Bug 1411361 - Update builders to rust 1.22.1. r=nalexander
New stable release.

We leave the win32 builds on rust 1.21.0 for now:

- Building with 1.22.1 fails on win32 opt, we think, because
the code tree passed to llvm exhausts 32-bit address space
under -Clto. Bug 1417268.

- Resolving the above by building with 64-bit rust is blocked
by build.rs scripts not picking up the correct platform in
automation builds. Bug 1401647.

- Building with 1.23.0-beta.1 fails on win32 debug with a
bindgen panic. Bug 1420301.

MozReview-Commit-ID: 9Q1K7dSBlEv

--HG--
extra : rebase_source : 84d1d0306934fffceda7b242615d89722d02c6f5
2017-11-22 17:01:19 -08:00
Christian Holler
107b880d6a Bug 1415689 - Add Clang 6 (pre) and use it for ASan builds. r=froydnj
MozReview-Commit-ID: 34rcG7gEswz
2017-11-10 10:14:26 +01: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
Ralph Giles
6299f3d3dc Bug 1409533 - Require rust 1.21.0. r=froydnj
Per schedule, bump the minimum-supported rust version to 1.21.0
two weeks after its stable release so we can use new code which
depends on it.

MozReview-Commit-ID: Bn8UjvTC7uw
2017-10-26 13:06:28 -07:00
Phil Ringnalda
5db7da0bcc Backed out changeset 64a4f7fc64e3 (bug 1409265) for unexpected assertion failures in media crashtests and webaudio mochitests
CLOSED TREE
MozReview-Commit-ID: Cv7AviLp0KP
2017-10-17 19:59:33 -07:00
Mike Hommey
f88329d02f Bug 1409260 - Remove tc-vcs caches. r=dustin,gps
--HG--
extra : rebase_source : bc8a0e8807c1dd6d2a662c7c1fc8ad33af88efe9
2017-10-17 15:12:18 +09:00
Mike Hommey
92b58de044 Bug 1409265 - Update clang to 5.0 for linux and mac builds. r=froydnj
Except ASAN builds, which for some reason fail with that version
(bug 1409267).

--HG--
extra : rebase_source : e91bd0f4cd152be57abd5cddb8e15e4af34912bb
2017-10-13 13:34:08 +09:00
Ralph Giles
db6c9b64ff Bug 1408215 - Update builders to rust 1.21.0. r=froydnj,gps
New upstream release.

Maintain a linux64-rust-1.20 for use verifying the minimum-
supported rust version once we update it.

We still use rust 1.19 to build sccache since there are
network connection issues when it's built with more recent
rust releases.

MozReview-Commit-ID: 9KjdYAAQZRa

--HG--
extra : rebase_source : 48a9512351723c7cc9a3ac1414097811f2d93720
2017-10-13 14:01:39 -07:00
Sebastian Hengst
4359a8ac3b merge mozilla-central to autoland. r=merge a=merge 2017-10-14 12:39:09 +02:00
Sebastian Hengst
caf5b99a30 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 8Qk2qoQvP0g
2017-10-14 11:49:31 +02:00
Nick Alexander
e83bd0bc4e Bug 1405413 - Migrate Gradle dependency fetching to toolchain dependencies. r=dustin
MozReview-Commit-ID: 6OOD4mhICG1

--HG--
rename : taskcluster/scripts/builder/build-android-dependencies.sh => taskcluster/scripts/misc/android-gradle-dependencies.sh
rename : taskcluster/scripts/builder/build-android-dependencies/after.sh => taskcluster/scripts/misc/android-gradle-dependencies/after.sh
rename : taskcluster/scripts/builder/build-android-dependencies/before.sh => taskcluster/scripts/misc/android-gradle-dependencies/before.sh
rename : taskcluster/scripts/builder/build-android-dependencies/nexus.xml => taskcluster/scripts/misc/android-gradle-dependencies/nexus.xml
extra : rebase_source : 8c476377ded6b7177b3ba45f648431a08468948d
2017-10-13 12:59:04 -07:00
Sebastian Hengst
87626a0ece merge mozilla-central to autoland. r=merge a=merge 2017-10-14 00:02:17 +02:00
Sebastian Hengst
373bdd8602 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 9adaYBJ4tlo
2017-10-13 23:37:41 +02:00
Steve Fink
2a91809c78 Bug 1339989 - Create a sixgill compilation toolchain job, r=glandium
--HG--
extra : rebase_source : ccd11f3522b6c87a59bb9837a6a1d338cfbb8608
2017-10-09 17:49:29 -07:00
Nick Alexander
daf88e8cc6 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

--HG--
extra : rebase_source : 81dbb065f2a3c4e7733e964be66adb1733db52c6
2017-10-03 11:45:27 -07:00
Mike Hommey
cfff009a09 Bug 1408277 - Add a toolchain job for clang 5.0. r=froydnj
--HG--
extra : rebase_source : 6a5a3e1db7b8a754181468914712a38f162d0f0d
2017-10-13 13:22:41 +09:00
Nick Alexander
5e900e07f6 Bug 1352599 - Part 1: Add a Proguard toolchain task for Android builds. r=froydnj
MozReview-Commit-ID: 5lyHGLkzyg

--HG--
extra : rebase_source : 63824f309d216eab06ea34a6db244eb299139f58
2017-10-02 13:27:51 -07:00
Mike Hommey
f813868d70 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.

--HG--
extra : rebase_source : 4c657664957dff1f7aebe470e0440a52c9e280e5
2017-10-13 14:27:13 +09:00
Sebastian Hengst
758e7bad02 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
4b5ec86ca9 Backed out changeset 5f4ff0de7242 (bug 1405412) 2017-10-12 23:41:30 +02:00
Nick Alexander
962b96fa44 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

--HG--
extra : rebase_source : 062bca8c65556f0f46e9c9cc6cd81eb04cf2b522
2017-10-03 11:45:27 -07:00
Nick Alexander
f5c43c8ddc Bug 1352599 - Part 1: Add a Proguard toolchain task for Android builds. r=froydnj
MozReview-Commit-ID: 5lyHGLkzyg

--HG--
extra : rebase_source : dc75874944d9559a69f495cbca5f492bf464c9d4
2017-10-02 13:27:51 -07:00
Sebastian Hengst
4bf9d6e663 merge mozilla-central to mozilla-inbound. r=merge a=merge on a CLOSED TREE 2017-10-14 00:11:06 +02:00
Ralph Giles
cb2443642d Bug 1408211 - Update builders to rust 1.20.0. r=mshal
New upstream stable release.

Maintain rust-1.19 builds for verifying the minimum-supported
version, and because we have network failures when we build
sccache with rust 1.20 or 1.21.

MozReview-Commit-ID: 5qi8JDTjfzj
2017-10-13 14:30:20 -07:00
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
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
Wes Kocher
18a2426a5d Bug 1330608 - Fix up mozlint-yaml a=bustage
MozReview-Commit-ID: 5nZmpAO4R3Z
2017-09-25 22:37:58 -07:00