Commit graph

113 commits

Author SHA1 Message Date
Alex Crichton
499b84aca8 travis: Update sccache build used
This build is no longer a forked version with temporary bugfixes, everything
should be upstreamed!
2017-04-27 07:18:01 -07:00
bors
0777c757a6 Auto merge of #40123 - TimNN:llvm40, r=alexcrichton
LLVM 4.0 Upgrade

Since nobody has done this yet, I decided to get things started:

**Todo:**

* [x] push the relevant commits to `rust-lang/llvm` and `rust-lang/compiler-rt`
* [x] cleanup `.gitmodules`
* [x] Verify if there are any other commits from `rust-lang/llvm` which need backporting
* [x] Investigate / fix debuginfo ("`<optimized out>`") failures
* [x] Use correct emscripten version in docker image

---

Closes #37609.

---

**Test results:**

Everything is green 🎉
2017-04-24 22:18:16 +00:00
Tim Neumann
a0ce63be2b FIN: update emscripten builder 2017-04-23 22:00:01 +02:00
Marco A L Barbosa
51cc0e38e3 Add x86_64-linux-android target 2017-04-20 16:29:59 -03:00
Alex Crichton
cdedecb7ba travis: Enable rust-analysis package for more targets
This commit enables the `rust-analysis` package to be produced for all targets
that are part of the `dist-*` suite of docker images on Travis. Currently
these packages are showing up with `available = false` in the
`channel-rust-nightly.toml` manifest where we'd prefer to have them show up for
all targets.

Unfortunately rustup isn't handling the `available = false` section well right
now, so this should also inadvertently fix the nightly regression.
2017-04-12 20:48:18 -07:00
Corey Farwell
72538dee4d Rollup merge of #41231 - TimNN:fix-centos, r=frewsxcv
Use correct vault URL in CentOS images

r? @frewsxcv
2017-04-11 18:36:17 -04:00
Tim Neumann
56503dd4ad use correct vault url 2017-04-11 22:53:16 +02:00
Aidan Hobson Sayers
f297767b2c Make sccache a bit quieter 2017-04-11 00:22:26 +01:00
bors
53f4bc311b Auto merge of #41138 - frewsxcv:rollup, r=frewsxcv
Rollup of 9 pull requests

- Successful merges: #40797, #41047, #41056, #41061, #41075, #41080, #41120, #41130, #41131
- Failed merges:
2017-04-07 15:25:47 +00:00
Corey Farwell
72308b1c23 Rollup merge of #41130 - petrhosek:fuchsia-ci-upstream, r=alexcrichton
travis: Use upstream LLVM repositories for Fuchsia

The Fuchsia copies of LLVM repositories contain additional patches
for work-in-progress features and there is some amount of churn that
may break Rust. Use upstream LLVM repositories instead for building
the toolchain used by the Fuchsia builder.
2017-04-07 09:20:10 -04:00
Corey Farwell
2a92fe2aaa Rollup merge of #41080 - cuviper:generic-powerpc, r=alexcrichton
dist-powerpc-linux: use a pure 32-bit CPU profile

With `-mcpu=power4`, code might use instructions like `fcfid`, excluding
older CPUs like the PowerPC G4, which apparently some users would like
to use.  The generic `-mcpu=powerpc` should stick to pure 32-bit PowerPC
instructions.

Fixes rust-lang/cargo#3852.
2017-04-07 09:20:08 -04:00
bors
c438c1fb39 Auto merge of #40971 - malbarbo:android-emulator-64, r=alexcrichton
Use 64 bits emulator to run android tests

Also install headless jre instead of the full jre.
2017-04-07 12:51:18 +00:00
Petr Hosek
b135c1291d travis: Use upstream LLVM repositories for Fuchsia
The Fuchsia copies of LLVM repositories contain additional patches
for work-in-progress features and there is some amount of churn that
may break Rust. Use upstream LLVM repositories instead for building
the toolchain used by the Fuchsia builder.
2017-04-06 23:29:23 -07:00
Corey Farwell
9516c80bb7 Rollup merge of #41089 - alexcrichton:update-musl, r=brson
travis: Update musl for i686/x86_64

This is a random stab towards #38618, no idea if it'll work. But hey more
up-to-date software is better, right?
2017-04-06 14:55:04 -04:00
Alex Crichton
631f761f18 travis: Update musl for i686/x86_64
This is a random stab towards #38618, no idea if it'll work. But hey more
up-to-date software is better, right?
2017-04-05 11:10:48 -07:00
Josh Stone
608e8fe16c dist-powerpc-linux: use a pure 32-bit CPU profile
With `-mcpu=power4`, code might use instructions like `fcfid`, excluding
older CPUs like the PowerPC G4, which apparently some users would like
to use.  The generic `-mcpu=powerpc` should stick to pure 32-bit PowerPC
instructions.

Fixes rust-lang/cargo#3852.
2017-04-05 00:41:08 -07:00
Alex Crichton
e60ea55f66 travis: Update sccache binaries
I've tracked down what I believe is the last spurious sccache failure on #40240
to behavior in mio (carllerche/mio#583), and this commit updates the binaries to
a version which has that fix incorporated.
2017-04-04 15:55:23 -07:00
Tim Neumann
dd7fc23a21 fix rollup 2017-04-04 15:46:48 +02:00
Tim Neumann
efdf05d91e Merge remote-tracking branch 'hub/centos5-vault' into rollup 2017-04-04 15:43:07 +02:00
Tim Neumann
6dc8869f38 use fixed ip for vault.centos.org until updates have propagated to all mirrors 2017-04-03 22:51:06 +02:00
Tim Neumann
802c11c33e switch to vault.centos.org 2017-04-03 22:14:45 +02:00
Alex Crichton
541512b0bf travis: Split all dist builders in two
Previously we would use one builder on Travis to produce two sets of host
compilers for two different targets. Unfortunately though we've recently
increased how much we're building for each target so this is starting to take
unnecessarily long (#40804). This commit splits the dist builders in two by
ensuring that we only dist one target on each builder, which should take a much
shorter amount of time. This should also unblock other work such as landing the
RLS (#40584).
2017-04-03 12:30:06 -07:00
Marco A L Barbosa
113b3b46a7 Use 64 bits emulator to run android tests
Also install headless jre instead of the full jre.
2017-03-31 17:26:55 -03:00
Corey Farwell
a9dc8ac7ac Rollup merge of #40780 - aidanhs:aphs-cache-git-modules, r=alexcrichton
Attempt to cache git modules

Partial resolution of #40772, appveyor remains to be done once travis looks like it's working ok.

The approach in this PR is based on the `--reference` flag to `git-clone`/`git-submodule --update` and is a compromise based on the current limitations of the tools we're using.

The ideal would be:
1. have a cached pristine copy of rust-lang/rust master in `$HOME/rustsrc` with all submodules initialised
2. clone the PR branch with `git clone --recurse-submodules --reference $HOME/rustsrc git@github.com:rust-lang/rust.git`

This would (in the nonexistent ideal world) use the pristine copy as an object cache for the top level repo and all submodules, transferring over the network only the changes on the branch. Unfortunately, a) there is no way to manually control the initial clone with travis and b) even if there was, cloned submodules don't use the submodules of the reference as an object cache. So the steps we end up with are:

1. have a cached pristine copy of rust-lang/rust master in `$HOME/rustsrc` with all submodules initialised
2. have a cloned PR branch
3. extract the path of each submodule, and explicitly `git submodule update --init --reference $HOME/rustsrc/$module $module` (i.e. point directly to the location of the pristine submodule repo) for each one

I've also taken some care to make this forward compatible, both for adding and removing submodules.

r? @alexcrichton
2017-03-29 16:53:29 -04:00
Aidan Hobson Sayers
0347ff5823 Attempt to cache git modules 2017-03-29 02:51:56 +01:00
bors
0f5ddb953a Auto merge of #40809 - alexcrichton:update-sccache-again, r=alexcrichton
travis: Update sccache again

Looks like the last version was built with mio 0.6.5 which now has known bugs
against it. This build includes mio 0.6.6
2017-03-26 01:33:39 +00:00
Tim Neumann
935d84a272 fix permissions of emsdk_portable 2017-03-25 17:22:07 +01:00
Ariel Ben-Yehuda
ca85c400da travis: try to fix the build on emscripten
The emsdk-portable .tar.gz now extracts to emsdk-portable instead of
emsdk_portable. Handle that.
2017-03-25 17:36:54 +03:00
Alex Crichton
bff332e0a2 travis: Update sccache again
Looks like the last version was built with mio 0.6.5 which now has known bugs
against it. This build includes mio 0.6.6
2017-03-24 19:00:35 -07:00
Alex Crichton
05c4051f64 travis: Update sccache binary 2017-03-23 10:16:57 -07:00
Alex Crichton
38795677ae travis: Delay sccache downloads in docker
Let's have this layer be towards the end as we're emprically changing sccache
more than we're changing the rest of the image, so this'll allow us to reuse as
much of the cached image as possible.
2017-03-23 10:16:57 -07:00
Corey Farwell
4e962422d7 Rollup merge of #40612 - TimNN:new-netbsd-cross, r=alexcrichton
Use the "official" cross compiler for NetBSD

The current NetBSD cross compiler is lacking, for example `std::thread` is not available (which causes problems for LLVM 4.0). This PR uses the official netbsd build system to compiler the cross compiler.

@alexcrichton: Can you please mirror `ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-7.0/source/sets/{src,gnusrc,sharesrc,syssrc}.tgz`. (Optionally you may want to use NetBSD versions 7.0.2 or 7.1, in that case you'll probably want to update the binary downloads used today as well).

I'll update the URL's afterwards (or feel free to use "allow edits from maintainers").

r? @alexcrichton
2017-03-23 08:42:45 -05:00
Tim Neumann
88d5645fb8 dist-x86-linux: ugrade gcc to 4.8.5 2017-03-21 20:40:06 +01:00
Tim Neumann
ba90248dac include compiler hash in wrapper scripts 2017-03-21 20:37:50 +01:00
Alex Crichton
7ae7bf31e2 Switch to rust-lang-ci mirror URLs 2017-03-21 20:37:50 +01:00
Tim Neumann
1f65610675 ci/netbsd: use the "official" cross compiler 2017-03-21 20:37:50 +01:00
Alex Crichton
7305ca3852 travis: Don't set RUST_LOG globally
I have a suspicion that this caused a large regression in cycle times by forcing
the compiler to perform more checks on every `debug!` statement, so let's test
this out by removing the `RUST_LOG` env var globally.

This regression in cycle time was witnessed between [two] [builds] where the
[PR] in question didn't do much suspicious. Judging by how the stage0 times
*also* regressed though then this is my best guess.

[two]: https://travis-ci.org/rust-lang/rust/builds/210149932
[builds]: https://travis-ci.org/rust-lang/rust/builds/210179995
[PR]: https://github.com/rust-lang/rust/pull/40446
2017-03-20 14:32:36 -07:00
bors
df3ab375f3 Auto merge of #40507 - alexcrichton:static-libcurl, r=brson
travis: Ensure cargo links libcurl statically

We don't want a dynamic dependency in the library that we ship, so link it
statically by configuring curl-sys's build script to not pick up the system
version via pkg-config.
2017-03-18 03:31:58 +00:00
Alex Crichton
bbfdb56910 travis: Use hide_output in dist-powerpc64-linux
Looks like we blew the 4MB cap, so let's hide some more output.
2017-03-17 07:12:56 -07:00
Alex Crichton
ec829fe00e travis: Update sccache binary
I've built a local copy with mozilla/sccache#79 and mozilla/sccache#78. Let's
see if that helps #40240!
2017-03-16 07:55:15 -07:00
Alex Crichton
5fab9bf4f6 travis: Ensure cargo links libcurl statically
We don't want a dynamic dependency in the library that we ship, so link it
statically by configuring curl-sys's build script to not pick up the system
version via pkg-config.
2017-03-13 22:13:37 -07:00
bors
5d0be0d72a Auto merge of #40199 - alexcrichton:doc-proc-macro, r=brson
rustbuild: Build documentation for `proc_macro`

This commit fixes #38749 by building documentation for the `proc_macro` crate by
default for configured hosts. Unfortunately did not turn out to be a trivial
fix. Currently rustbuild generates documentation into multiple locations: one
for std, one for test, and one for rustc. The initial fix for this issue simply
actually executed `cargo doc -p proc_macro` which was otherwise completely
elided before.

Unfortunately rustbuild was the left to merge two documentation trees together.
One for the standard library and one for the rustc tree (which only had docs for
the `proc_macro` crate). Rustdoc itself knows how to merge documentation files
(specifically around search indexes, etc) but rustbuild was unaware of this, so
an initial fix ended up destroying the sidebar and the search bar from the
libstd docs.

To solve this issue the method of documentation has been tweaked slightly in
rustbuild. The build system will not use symlinks (or directory junctions on
Windows) to generate all documentation into the same location initially. This'll
rely on rustdoc's logic to weave together all the output and ensure that it ends
up all consistent.

Closes #38749
2017-03-11 11:42:09 +00:00
Alex Crichton
c1c3b09f28 Rollup merge of #40324 - alexcrichton:sccache-errors, r=aturon
travis: Attempt to debug sccache failures

I can't find anything that'd cause unexpected EOF in the source, so let's try
taking a look at the error logs on failures.
2017-03-10 16:18:28 -08:00
Alex Crichton
f846aaf81f rustbuild: Build documentation for proc_macro
This commit fixes #38749 by building documentation for the `proc_macro` crate by
default for configured hosts. Unfortunately did not turn out to be a trivial
fix. Currently rustbuild generates documentation into multiple locations: one
for std, one for test, and one for rustc. The initial fix for this issue simply
actually executed `cargo doc -p proc_macro` which was otherwise completely
elided before.

Unfortunately rustbuild was the left to merge two documentation trees together.
One for the standard library and one for the rustc tree (which only had docs for
the `proc_macro` crate). Rustdoc itself knows how to merge documentation files
(specifically around search indexes, etc) but rustbuild was unaware of this, so
an initial fix ended up destroying the sidebar and the search bar from the
libstd docs.

To solve this issue the method of documentation has been tweaked slightly in
rustbuild. The build system will not use symlinks (or directory junctions on
Windows) to generate all documentation into the same location initially. This'll
rely on rustdoc's logic to weave together all the output and ensure that it ends
up all consistent.

Closes #38749
2017-03-10 13:04:49 -08:00
Petr Hosek
9a8461104e travis: Fuchsia builder
This change introduces a Dockerfile and script which builds a complete
Fuchsia toolchain which can be used to build Rust distribution for
Fuchsia. We only support cross-compiling at the moment, hence only
setting the target.
2017-03-10 08:28:40 -08:00
Alex Crichton
a8cacd3d21 travis: Attempt to debug sccache failures
I can't find anything that'd cause unexpected EOF in the source, so let's try
taking a look at the error logs on failures.
2017-03-10 07:51:14 -08:00
Alex Crichton
f44801c5ee travis: Split the linux-tested-targets builder
Travis only gives us 30GB disk space and we don't currently have an option to
increase that. Each musl target generates "hello world" binaries of about 3.5MB
in size, and we're testing two targets in the same image. We have around 3k
run-pass tests and 2 musl targets which works out to around 20GB. That's
dangerously close to the limit and is causing PRs to bounce.

This PR splits up the builder in two, one for x86_64 musl and the other for
i686. Hopefully that'll keep us under the disk limit.

Closes #40359
2017-03-09 11:54:24 -08:00
Steve Klabnik
aff269b5dc Rollup merge of #40130 - alexcrichton:fix-musl-again, r=nikomatsakis
travis: Fix typos in linux-tested-targets

These flags were supposed to be relevant for musl, not for gnu

cc #39979
2017-02-28 15:38:39 -08:00
Alex Crichton
500076e141 travis: Split Android into dist/test images
PRs can't land againt beta right now because the android bot is filling up on
disk space. I don't really know what's going on but the android bot is the
longest one to run anyway so it'll benefit from being split up regardless.
2017-02-27 21:20:23 -08:00
Alex Crichton
ac0521e526 travis: Fix typos in linux-tested-targets
These flags were supposed to be relevant for musl, not for gnu

cc #39979
2017-02-27 12:46:43 -08:00