Commit graph

161 commits

Author SHA1 Message Date
Eric Rahm
6079cec11e Bug 1464501 - Part 1: Add rust-size toolchain. r=glandium
--HG--
extra : rebase_source : 104dc6ef69f288684b2bc3d95361dc9090de0c1a
extra : source : e891ab259427a65b92a880478d6884abf0d4a281
extra : histedit_source : 8e8d263b4a55a59e7b15e4861dd7b38cf016249b
2018-06-07 16:47:58 -07:00
Mike Hommey
75a0990a1d Bug 1467658 - Update the macosx clang toolchain (for bootstrap) to version 6. r=chmanchester
--HG--
extra : rebase_source : 104b34102202fe0598d73d351de7b7ce0689f5ac
2018-06-08 13:37:48 +09:00
Mike Hommey
a7e6de776d Bug 1467658 - Use clang 6 for coverage builds. r=chmanchester,marco
Instead of clang 4, which they were the last to use, so remove the
clang 4 toolchain.

--HG--
extra : rebase_source : d03a083e9217aeb6c1d2c91decb978426f0e8d1a
2018-06-08 10:48:06 +09:00
Mike Hommey
03b4a0d6e0 Bug 1462498 - Update clang 6 pre to clang 6 final on linux and mac. r=gps 2018-06-08 09:25:49 +09:00
Gregory Szorc
8922082362 Bug 1460777 - Taskgraph tasks for retrieving remote content; r=dustin, glandium
Currently, many tasks fetch content from the Internets. A problem with
that is fetching from the Internets is unreliable: servers may have
outages or be slow; content may disappear or change out from under us.

The unreliability of 3rd party services poses a risk to Firefox CI.
If services aren't available, we could potentially not run some CI tasks.
In the worst case, we might not be able to release Firefox. That would
be bad. In fact, as I write this, gmplib.org has been unavailable for
~24 hours and Firefox CI is unable to retrieve the GMP source code.
As a result, building GCC toolchains is failing.

A solution to this is to make tasks more hermetic by depending on
fewer network services (which by definition aren't reliable over time
and therefore introduce instability).

This commit attempts to mitigate some external service dependencies
by introducing the *fetch* task kind.

The primary goal of the *fetch* kind is to obtain remote content and
re-expose it as a task artifact. By making external content available
as a cached task artifact, we allow dependent tasks to consume this
content without touching the service originally providing that
content, thus eliminating a run-time dependency and making tasks more
hermetic and reproducible over time.

We introduce a single "fetch-url" "using" flavor to define tasks that
fetch single URLs and then re-expose that URL as an artifact. Powering
this is a new, minimal "fetch" Docker image that contains a
"fetch-content" Python script that does the work for us.

We have added tasks to fetch source archives used to build the GCC
toolchains.

Fetching remote content and re-exposing it as an artifact is not
very useful by itself: the value is in having tasks use those
artifacts.

We introduce a taskgraph transform that allows tasks to define an
array of "fetches." Each entry corresponds to the name of a "fetch"
task kind. When present, the corresponding "fetch" task is added as a
dependency. And the task ID and artifact path from that "fetch" task
is added to the MOZ_FETCHES environment variable of the task depending
on it. Our "fetch-content" script has a "task-artifacts"
sub-command that tasks can execute to perform retrieval of all
artifacts listed in MOZ_FETCHES.

To prove all of this works, the code for fetching dependencies when
building GCC toolchains has been updated to use `fetch-content`. The
now-unused legacy code has been deleted.

This commit improves the reliability and efficiency of GCC toolchain
tasks. Dependencies now all come from task artifacts and should always
be available in the common case. In addition, `fetch-content` downloads
and extracts files concurrently. This makes it faster than the serial
application which we were previously using.

There are some things I don't like about this commit.

First, a new Docker image and Python script for downloading URLs feels
a bit heavyweight. The Docker image is definitely overkill as things
stand. I can eventually justify it because I want to implement support
for fetching and repackaging VCS repositories and for caching Debian
packages. These will require more packages than what I'm comfortable
installing on the base Debian image, therefore justifying a dedicated
image.

The `fetch-content static-url` sub-command could definitely be
implemented as a shell script. But Python is readily available and
is more pleasant to maintain than shell, so I wrote it in Python.

`fetch-content task-artifacts` is more advanced and writing it in
Python is more justified, IMO. FWIW, the script is Python 3 only,
which conveniently gives us access to `concurrent.futures`, which
facilitates concurrent download.

`fetch-content` also duplicates functionality found elsewhere.
generic-worker's task payload supports a "mounts" feature which
facilitates downloading remote content, including from a task
artifact. However, this feature doesn't exist on docker-worker.
So we have to implement downloading inside the task rather than
at the worker level. I concede that if all workers had generic-worker's
"mounts" feature and supported concurrent download, `fetch-content`
wouldn't need to exist.

`fetch-content` also duplicates functionality of
`mach artifact toolchain`. I probably could have used
`mach artifact toolchain` instead of writing
`fetch-content task-artifacts`. However, I didn't want to introduce
the requirement of a VCS checkout. `mach artifact toolchain` has its
origins in providing a feature to the build system. And "fetching
artifacts from tasks" is a more generic feature than that. I think
it should be implemented as a generic feature and not something that is
"toolchain" specific.

I think the best place for a generic "fetch content" feature is in
the worker, where content can be defined in the task payload. But as
explained above, that feature isn't universally available. The next
best place is probably run-task. run-task already performs generic,
very-early task preparation steps, such as performing a VCS checkout.
I would like to fold `fetch-content` into run-task and make it all
driven by environment variables. But run-task is currently Python 2
and achieving concurrency would involve a bit of programming (or
adding package dependencies). I may very well port run-task to Python
3 and then fold fetch-content into it. Or maybe we leave
`fetch-content` as a standalone script.

MozReview-Commit-ID: AGuTcwNcNJR

--HG--
extra : source : 0b941cbdca76fb2fbb98dc5bbc1a0237c69954d0
extra : histedit_source : a3e43bdd8a9a58550bef02fec3be832ca304ea93
2018-06-06 14:37:49 -07:00
Gregory Szorc
cf83defe06 Bug 1460777 - Extract GPG keys to standalone files; r=glandium
After this change, we consistently import GPG keys from files in
the GCC build scripts.

MozReview-Commit-ID: BcyvCQoGbMS

--HG--
extra : source : 5fce34a460b51e45ac280a9f0cb8bad896fbcff1
extra : histedit_source : 01621ea8111315c251a9493a11efca72c2ba3c7d
2018-05-11 10:38:35 -07:00
Gurzau Raul
53a10471cf Backed out 2 changesets (bug 1460777) for Toolchains failure on a CLOSED TREE
Backed out changeset 52ef9348401d (bug 1460777)
Backed out changeset 60ed097650b8 (bug 1460777)
2018-06-06 20:57:29 +03:00
Gregory Szorc
2f189264b9 Bug 1460777 - Taskgraph tasks for retrieving remote content; r=dustin,glandium
Currently, many tasks fetch content from the Internets. A problem with
that is fetching from the Internets is unreliable: servers may have
outages or be slow; content may disappear or change out from under us.

The unreliability of 3rd party services poses a risk to Firefox CI.
If services aren't available, we could potentially not run some CI tasks.
In the worst case, we might not be able to release Firefox. That would
be bad. In fact, as I write this, gmplib.org has been unavailable for
~24 hours and Firefox CI is unable to retrieve the GMP source code.
As a result, building GCC toolchains is failing.

A solution to this is to make tasks more hermetic by depending on
fewer network services (which by definition aren't reliable over time
and therefore introduce instability).

This commit attempts to mitigate some external service dependencies
by introducing the *fetch* task kind.

The primary goal of the *fetch* kind is to obtain remote content and
re-expose it as a task artifact. By making external content available
as a cached task artifact, we allow dependent tasks to consume this
content without touching the service originally providing that
content, thus eliminating a run-time dependency and making tasks more
hermetic and reproducible over time.

We introduce a single "fetch-url" "using" flavor to define tasks that
fetch single URLs and then re-expose that URL as an artifact. Powering
this is a new, minimal "fetch" Docker image that contains a
"fetch-content" Python script that does the work for us.

We have added tasks to fetch source archives used to build the GCC
toolchains.

Fetching remote content and re-exposing it as an artifact is not
very useful by itself: the value is in having tasks use those
artifacts.

We introduce a taskgraph transform that allows tasks to define an
array of "fetches." Each entry corresponds to the name of a "fetch"
task kind. When present, the corresponding "fetch" task is added as a
dependency. And the task ID and artifact path from that "fetch" task
is added to the MOZ_FETCHES environment variable of the task depending
on it. Our "fetch-content" script has a "task-artifacts"
sub-command that tasks can execute to perform retrieval of all
artifacts listed in MOZ_FETCHES.

To prove all of this works, the code for fetching dependencies when
building GCC toolchains has been updated to use `fetch-content`. The
now-unused legacy code has been deleted.

This commit improves the reliability and efficiency of GCC toolchain
tasks. Dependencies now all come from task artifacts and should always
be available in the common case. In addition, `fetch-content` downloads
and extracts files concurrently. This makes it faster than the serial
application which we were previously using.

There are some things I don't like about this commit.

First, a new Docker image and Python script for downloading URLs feels
a bit heavyweight. The Docker image is definitely overkill as things
stand. I can eventually justify it because I want to implement support
for fetching and repackaging VCS repositories and for caching Debian
packages. These will require more packages than what I'm comfortable
installing on the base Debian image, therefore justifying a dedicated
image.

The `fetch-content static-url` sub-command could definitely be
implemented as a shell script. But Python is readily available and
is more pleasant to maintain than shell, so I wrote it in Python.

`fetch-content task-artifacts` is more advanced and writing it in
Python is more justified, IMO. FWIW, the script is Python 3 only,
which conveniently gives us access to `concurrent.futures`, which
facilitates concurrent download.

`fetch-content` also duplicates functionality found elsewhere.
generic-worker's task payload supports a "mounts" feature which
facilitates downloading remote content, including from a task
artifact. However, this feature doesn't exist on docker-worker.
So we have to implement downloading inside the task rather than
at the worker level. I concede that if all workers had generic-worker's
"mounts" feature and supported concurrent download, `fetch-content`
wouldn't need to exist.

`fetch-content` also duplicates functionality of
`mach artifact toolchain`. I probably could have used
`mach artifact toolchain` instead of writing
`fetch-content task-artifacts`. However, I didn't want to introduce
the requirement of a VCS checkout. `mach artifact toolchain` has its
origins in providing a feature to the build system. And "fetching
artifacts from tasks" is a more generic feature than that. I think
it should be implemented as a generic feature and not something that is
"toolchain" specific.

I think the best place for a generic "fetch content" feature is in
the worker, where content can be defined in the task payload. But as
explained above, that feature isn't universally available. The next
best place is probably run-task. run-task already performs generic,
very-early task preparation steps, such as performing a VCS checkout.
I would like to fold `fetch-content` into run-task and make it all
driven by environment variables. But run-task is currently Python 2
and achieving concurrency would involve a bit of programming (or
adding package dependencies). I may very well port run-task to Python
3 and then fold fetch-content into it. Or maybe we leave
`fetch-content` as a standalone script.

MozReview-Commit-ID: AGuTcwNcNJR

--HG--
extra : rebase_source : 4918b8c3bac53d63665006802054038bfbca0314
2018-06-06 09:37:38 -07:00
Gregory Szorc
43e801ae60 Bug 1460777 - Extract GPG keys to standalone files; r=glandium
After this change, we consistently import GPG keys from files in
the GCC build scripts.

MozReview-Commit-ID: BcyvCQoGbMS

--HG--
extra : rebase_source : 657ccce8e242cabdfaff396fd0d6439754a3f364
2018-05-11 10:38:35 -07:00
Mike Hommey
e680be2ec4 Bug 1466060 - Upgrade to binutils 2.28.1. r=nalexander
Version 2.25.1's libiberty can choke on some symbols. That was fixed in
2.27. As of writing, the last version is 2.30. Conservatively go with
2.28.1, which is the same major version (2.28) as what is currently in
Debian stable.

--HG--
extra : rebase_source : 9e5ba94421a1568f662cfd98af7168ea1c890934
2018-06-01 17:48:41 +09:00
Mike Shal
30eff40930 Bug 1377524 - Update tup toolchain to v0.7.6; r=chmanchester
MozReview-Commit-ID: cdVkPSToXs

--HG--
extra : rebase_source : faeef5ede130545570256534588b2d74c117ea39
2018-05-24 14:53:15 -04:00
Andreea Pavel
f489d7af8e Backed out changeset 4523372c4945 (bug 1462498) for Win build bustages on a CLOSED TREE
--HG--
rename : build/build-clang/clang-6-linux64.json => build/build-clang/clang-6-pre-linux64.json
rename : build/build-clang/clang-6-macosx64.json => build/build-clang/clang-6-pre-macosx64.json
rename : taskcluster/scripts/misc/build-clang-6-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-6-pre-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-6-linux.sh => taskcluster/scripts/misc/build-clang-6-pre-linux.sh
2018-05-19 02:19:22 +03:00
Mike Hommey
6b2218c550 Bug 1462498 - Update clang 6 pre to clang 6 final. r=gps
--HG--
rename : build/build-clang/clang-6-pre-linux64.json => build/build-clang/clang-6-linux64.json
rename : build/build-clang/clang-6-pre-macosx64.json => build/build-clang/clang-6-macosx64.json
rename : taskcluster/scripts/misc/build-clang-6-pre-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-6-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-6-pre-linux.sh => taskcluster/scripts/misc/build-clang-6-linux.sh
extra : rebase_source : ae02bc8f15fa2bab743a63d49ffc3e14eca6c157
2018-05-18 08:03:31 +09:00
Tom Ritter
65a58e425c Bug 1460668 Bump MinGW to capture the CD3D11_BLEND_DESC fix r=froydnj
MozReview-Commit-ID: 83igqfjKm6O

--HG--
extra : rebase_source : 1f800310e562b5d1ba76bc5693e648eb63a44fac
2018-05-16 13:43:29 -05:00
Mike Hommey
be4f305f62 Bug 1445536 - Add a toolchain job for GCC 7. r=froydnj
And adapt the build-gcc.sh script for the changes to
contrib/download_prerequisites.

--HG--
rename : taskcluster/scripts/misc/build-gcc-6-linux.sh => taskcluster/scripts/misc/build-gcc-7-linux.sh
extra : rebase_source : b1d785777b8c141c0eb0f52a73734abd2db21b94
2018-03-14 09:37:27 +09:00
Gregory Szorc
18e72cea88 Bug 1449629 - Use -L when downloading OpenSSL; r=glandium
The URL is now being redirected to
https://www.openssl.org/source/old/1.1.0/openssl-1.1.0g.tar.gz. Let's
add a -L so we follow redirects automatically.

MozReview-Commit-ID: AuZ98jGidzl

--HG--
extra : rebase_source : 07e61558024e789df45d8e2ab67ab5ad9d3d355b
2018-04-02 19:22:07 -07:00
Steve Fink
4fa97cae2b Update sixgill to ab06fc42cf0f for bug 1450379, r=bhackett
--HG--
extra : rebase_source : 5be473dc5253fe69db3ab745ce31255d966e6459
2018-03-30 15:33:15 -07:00
Steve Fink
b1be1f1ac9 Bug 1449066 - Switch hazard builds to GCC 6, r=froydnj
--HG--
extra : rebase_source : 312938733bbf76c3c9c2fc2ec35ba0b88e6f89de
2018-03-28 18:15:51 -07:00
Mike Shal
1d3020acd2 Bug 1387098 - Tup toolchain task; r=froydnj
Build the latest tup master branch with the LD_PRELOAD dependency
checker.

MozReview-Commit-ID: ALfnnmOZrky

--HG--
extra : rebase_source : 529d4392ef73e03f66fb76f089f8b88f45b44972
2018-02-20 11:12:08 -05:00
Ted Mielczarek
bd3e9df16c bug 1446665 - update sccache to pick up a fix for a PGO build failure. r=froydnj
MozReview-Commit-ID: 5uCjHMZc7JJ

--HG--
extra : rebase_source : f8aa60cca3992707e056460b01ac470cd79fc385
2018-03-23 11:37:47 -04:00
Ted Mielczarek
44322b0b23 bug 1445631 - update sccache to pick up a fix in the jobserver crate. r=chmanchester
MozReview-Commit-ID: JtHea27GTTq

--HG--
extra : rebase_source : e7b08d6b6b765c0447aadfaa7f4f606676806c73
2018-03-16 13:41:52 -04:00
Steve Fink
de4adccfc7 Bug 1444543 - toolchain: build sixgill for gcc 6.4.0, r=glandium
--HG--
extra : rebase_source : fa2f7acf63e99544b95c6a896ba015c52c04f7ae
2018-03-06 10:15:29 -08:00
Steve Fink
03dedf49bb Bug 1443233 - Update sixgill to use same qualification settings for all type printing, r=bhackett
--HG--
extra : rebase_source : 16d1361a8a020ba3d4a37e867dfa1cc7f75c92dd
2018-03-06 08:37:02 -08:00
Ted Mielczarek
f51415ef1d bug 1445218 - update sccache to 0.2.6. r=froydnj
MozReview-Commit-ID: FxFmXcAHC5A

--HG--
extra : rebase_source : b01b5aca229547dc1b4de14ec36df54d806cf7e6
2018-03-13 08:31:06 -04:00
David Major
8483a27743 Bug 1443827: Move clang-cl static analysis builds to their own toolchain task. r=froydnj
Note that static analysis was the only remaining user of the 32-bit toolchain, so I've removed win32-clang-cl (or rather, renamed it to win32-clang-cl-st-an).

--HG--
rename : build/build-clang/clang-win32.json => build/build-clang/clang-win32-st-an.json
rename : build/build-clang/clang-win64.json => build/build-clang/clang-win64-st-an.json
rename : taskcluster/scripts/misc/build-clang32-windows.sh => taskcluster/scripts/misc/build-clang32-st-an-windows.sh
rename : taskcluster/scripts/misc/build-clang64-windows.sh => taskcluster/scripts/misc/build-clang64-st-an-windows.sh
2018-03-08 17:25:52 -05:00
Ralph Giles
2d2defe3df Bug 1428197 - Reject generic channels in rust repack jobs. r=glandium
Ensure better determinism when creating rust toolchain packages
by rejecting generic channels like 'stable' or 'nightly'. Instead,
insist on a specific version or date.

The current valid dates for beta and nightly can be obtained with:

curl -s https://static.rust-lang.org/dist/channel-rust-beta.toml | grep ^date
curl -s https://static.rust-lang.org/dist/channel-rust-nightly.toml | grep ^date

MozReview-Commit-ID: I0DXw1KJGZz

--HG--
extra : rebase_source : 92e158193072582b8568d9c9f00ffdefa0af1a9c
2018-02-26 16:54:36 -08:00
Nick Alexander
daf2cc6ccf Bug 1440428 - Remove Proguard JAR entirely. r=jchen
The Proguard dependency is now managed by Gradle.

MozReview-Commit-ID: EOvKSE5z28P

--HG--
extra : rebase_source : 760b117f500cc639cc8c24e9c02933990f358dd7
2018-02-26 11:37:41 -08:00
Jesse Schwartzentruber
5b70ea834b Bug 1425406 - Add a linux64 clang 6 (pre) toolchain with the macosx64 native sanitizer dylibs. r=froydnj
MozReview-Commit-ID: Ig9xpBDcjNu

--HG--
extra : rebase_source : 278bd4fffb82d12e1bc4eb72458bdac3ba62e11f
2018-02-08 16:58:12 -05:00
Mike Hommey
e972446107 Bug 1436208 - Avoid infinite loops in llvm-dsymutil when rust produces broken self-referencing DIEs. r=nalexander
See some details on https://bugs.llvm.org/show_bug.cgi?id=36257.

--HG--
extra : rebase_source : 1ffd99e0d52bca74449760e39138af843c837a1b
2018-02-07 08:23:10 +09:00
Nathan Froyd
38a5bb5c84 Bug 1412006 - part 3 - add an Android NDK repackaging task; r=dustin,nalexander; f=glandium
We'd like to install the NDK through the Android SDK manager.  But we
can't pin versions of the NDK with the SDK manager, and so Google
can silently upgrade the NDK on us.  Since that is undesirable, this is
the next best thing.

With the toolchain task in hand, we can make all the relevant tasks
depend on the toolchain task and remove the download of the NDK from
tooltool as well.
2018-02-01 09:59:23 -05:00
Nick Alexander
edf219ba3b Bug 1411654 - Part 1: Upgrade to Android-Gradle 3.0+ and build-tools;26.0.2. r=maliu
New Android-Gradle plugins pin the build-tools version, and we want to
be consistent between Gradle and moz.build.

MozReview-Commit-ID: ApWS4rHzPuH

--HG--
extra : rebase_source : 22008e9333b15c594ce26c2a52f67396d6e3ab84
extra : source : f918500d9cf5112b70bc8e0a120df435b02252b7
2017-10-26 11:00:36 -07:00
Nick Alexander
cb03a352f0 Bug 1411654 - Pre: Don't block Google's maven repository. r=maliu
Turns out Google's maven repository doesn't publish checksums.  I
can't imagine why not, but there it is.  We have to think more about
whether to trust the artifacts downloaded from maven.google.com.

MozReview-Commit-ID: CdWijorq1IV

--HG--
extra : rebase_source : 6c66cf1444876624f10409ea6437863e2c2ea9b0
extra : source : 0850b319efd43ac8f4d61485451722975da55ca1
2017-10-27 14:50:27 -07:00
Tom Ritter
59cfa9d5ce Bug 1432319 Bump MinGW version to incorporate Process Mitigation structs needed by the sandbox r=froydnj
MozReview-Commit-ID: HnYuQa8DflY

--HG--
extra : rebase_source : ed06ff4ffc4938a861afaec833537676e32e1907
2018-01-27 19:44:45 -06:00
Emilio Cobos Álvarez
11cd13abd8 Bug 1432563: Fetch rustfmt when repackaging rust. r=rillian
I tested this on automation and the build went on, though I couldn't test
the bindgen output because the build right now is busted on one dependent crate
with rust beta, which is the first toolchain that has this package, and will go
to release shortly.

This should work though! If I need more changes I'll adjust them in bug 1432153.

You can test the repackage manually with repack_rust.py --toolchain beta, for
example.

MozReview-Commit-ID: GI2f6vGVqTe
2018-01-27 02:02:17 +01:00
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
Tom Ritter
6f227dea91 Bug 1431809 Bump MinGW version for new Product Constants r=froydnj
MozReview-Commit-ID: CmxZTdyHP3X

--HG--
extra : rebase_source : 7aa739cb54ac0f4c52087dcd1c992fe220bda737
2018-01-23 17:57:08 -06:00
Tom Ritter
40e0f3ea5e Bug 1432009 Fix MinGW build failure with d_write3.h r=jfkthame
Bump mingw version to get the newest commit and do not include the
un-needed dw-extras.h on MinGW (thanks Jacek!)

MozReview-Commit-ID: OjO93XHCxs

--HG--
extra : rebase_source : 933bbb385004988a23d1069c9cd3241b3a3b336e
2018-01-22 15:01:49 -06:00
Mike Hommey
374330afe4 Bug 1429056 - Add llvm-symbolizer to the llvm-dsymutil toolchain. r=ted
llvm-symbolizer is necessary to get symbols in llvm-dsymutil crash
dumps. While we could use the one from clang during the build, it's
better if the llvm-dsymutil toolchain is standalone for local testing.

--HG--
extra : rebase_source : 5cd234a3e14ab52a4ce759821e0e756e68167797
2018-01-19 19:00:06 +09:00
Mike Hommey
ee232fad88 Bug 1429056 - Don't strip llvm-dsymutil. r=ted
When I originally wrote the llvm-dsymutil build script in bug 1430315,
I wasn't setting CMAKE_BUILD_TYPE to Release, and was ending up with
a very large binary (> 300MB), so I stripped it.

When I later set CMAKE_BUILD_TYPE to Release, I left the manual
stripping on, but that removes symbols that are useful for stacktraces
when dsymutil crashes (the Release type still leaves out debug info).

--HG--
extra : rebase_source : 802daadc24c0090574b1a44ea8b4e6c25735f703
2018-01-19 10:16:11 +09:00
Gregory Szorc
6f469dc037 Bug 1430908 - Use --progress=dot:mega with wget; r=glandium
By default, wget prints dots every 1k bytes. This can render a
lot of output for large files. We switch to the "mega" style, which
makes each dot represent 64k, thus reducing output by up to 64x.

We also force the use of dot display. By default, it uses "bar"
which attempts to use terminal formatting if possible. Since most
of this code executes in CI and terminal control characters can
interfere with logged output, we force the use of "dot." (Although
wget appears to automatically switch to dot in TC today. But
consistency is good.)

MozReview-Commit-ID: IpTWJdcauTV

--HG--
extra : rebase_source : 5c9aa1bbdcd78eaa0b31347ad026a2c1beaedc03
2018-01-16 14:24:31 -08:00
Ryan VanderMeulen
ac18fd5152 Backed out 20 changesets (bug 1411654) for incorrect android:debuggable. r=nalexander, a=RyanVM
Backed out changeset cfad693be918 (bug 1411654)
Backed out changeset 55776829a744 (bug 1411654)
Backed out changeset c5bf85d56fed (bug 1411654)
Backed out changeset c270f97bb0da (bug 1411654)
Backed out changeset fde9bf9c14c3 (bug 1411654)
Backed out changeset 01836fd98c63 (bug 1411654)
Backed out changeset 730a70767743 (bug 1411654)
Backed out changeset 690e265c684c (bug 1411654)
Backed out changeset f918500d9cf5 (bug 1411654)
Backed out changeset cec2b8828cc8 (bug 1411654)
Backed out changeset 76085ddd5ac7 (bug 1411654)
Backed out changeset 2b37201606f5 (bug 1411654)
Backed out changeset d0d513d1c379 (bug 1411654)
Backed out changeset e7b0cc801cf1 (bug 1411654)
Backed out changeset 901b304603d9 (bug 1411654)
Backed out changeset 373c9a71d945 (bug 1411654)
Backed out changeset 3dc3beab95f8 (bug 1411654)
Backed out changeset 22a861db1573 (bug 1411654)
Backed out changeset 0850b319efd4 (bug 1411654)
Backed out changeset d276d3deba05 (bug 1411654)

--HG--
rename : mobile/android/app/src/main/res/values-v17/themes.xml => mobile/android/base/resources/values-v17/themes.xml
2018-01-17 15:55:38 -05: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
Nick Alexander
47c107e74f Bug 1411654 - Part 1: Upgrade to Android-Gradle 3.0+ and build-tools;26.0.2. r=maliu
New Android-Gradle plugins pin the build-tools version, and we want to
be consistent between Gradle and moz.build.

MozReview-Commit-ID: ApWS4rHzPuH

--HG--
extra : rebase_source : 38a9781c472d858f3300cbbcbdc6d2311c465713
2017-10-26 11:00:36 -07:00
Nick Alexander
e6080c2ce7 Bug 1411654 - Pre: Don't block Google's maven repository. r=maliu
Turns out Google's maven repository doesn't publish checksums.  I
can't imagine why not, but there it is.  We have to think more about
whether to trust the artifacts downloaded from maven.google.com.

MozReview-Commit-ID: CdWijorq1IV

--HG--
extra : rebase_source : a884971e51ce7b1ff993754b130f462c476646ab
2017-10-27 14:50:27 -07:00
Dorel Luca
ab63c465d9 Backed out 19 changesets (bug 1411654) for Android nightly bustages a=backout
Backed out changeset 649e7aa405ca (bug 1411654)
Backed out changeset c2e51b70519f (bug 1411654)
Backed out changeset a371f3ef4312 (bug 1411654)
Backed out changeset db978e230556 (bug 1411654)
Backed out changeset 56538ed998cf (bug 1411654)
Backed out changeset 6ff0cdf46a3d (bug 1411654)
Backed out changeset 0e493bacc5e3 (bug 1411654)
Backed out changeset 23cbcf427745 (bug 1411654)
Backed out changeset eda74143389f (bug 1411654)
Backed out changeset 359fadf9b3e9 (bug 1411654)
Backed out changeset 5c64eda20f1e (bug 1411654)
Backed out changeset bffb6a5b78d1 (bug 1411654)
Backed out changeset 43787f4089c3 (bug 1411654)
Backed out changeset 9141bbdfd13b (bug 1411654)
Backed out changeset 108674372ef7 (bug 1411654)
Backed out changeset fb15e1f54987 (bug 1411654)
Backed out changeset 264476c77210 (bug 1411654)
Backed out changeset d23f467218da (bug 1411654)
Backed out changeset 78576ff98660 (bug 1411654)

--HG--
rename : mobile/android/app/src/main/res/values-v17/themes.xml => mobile/android/base/resources/values-v17/themes.xml
2018-01-13 15:17:49 +02:00
Coroiu Cristina
c6a942e1bf Merge inbound to mozilla-central r=merge a=merge 2018-01-13 11:55:23 +02:00
Csoregi Natalia
bed10b400c Merge mozilla-central to autoland. r=merge a=merge CLOSED TREE 2018-01-13 00:02:18 +02:00
Mike Hommey
eb3cf6d41b Bug 1430030 - Enable parallelism when building wine, upx and fxc2. r=ted 2018-01-12 21:25:59 +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
Nick Alexander
e820c8ca18 Bug 1411654 - Part 1: Upgrade to Android-Gradle 3.0+ and build-tools;26.0.2. r=maliu
New Android-Gradle plugins pin the build-tools version, and we want to
be consistent between Gradle and moz.build.

MozReview-Commit-ID: ApWS4rHzPuH

--HG--
extra : rebase_source : 5a5730b4b9ce84af40a7c73c4f1abba017103f02
2017-10-26 11:00:36 -07:00