178 Commits

Author SHA1 Message Date
Alex Crichton
eb1c44b6ed rustbuild: Remove --enable-llvm-clean-rebuild
This was intended for bots back in the day where we'd persist caches of LLVM
builds across runs, but nowadays we don't do that on any of the bots so this
option is no longer necessary
2017-07-30 13:50:19 -07:00
Mark Simulacrum
e5116b661a Rollup merge of #43536 - alexcrichton:privileged, r=TimNN
Flag docker invocations as --privileged on CI

When upgrading to LLVM 5.0 it was found that the leak sanitizer tests were
failing with fatal errors, but they were passing locally when run. Turns out it
looks like they may be using new ptrace-like syscalls so the docker container
now needs `--privileged` when executing to complete the test.
2017-07-29 18:03:56 -06:00
Alex Crichton
b121689c6a Flag docker invocations as --privileged on CI
When upgrading to LLVM 5.0 it was found that the leak sanitizer tests were
failing with fatal errors, but they were passing locally when run. Turns out it
looks like they may be using new ptrace-like syscalls so the docker container
now needs `--privileged` when executing to complete the test.
2017-07-29 13:44:28 -07:00
Alex Crichton
122fd188ae rustbuild: Update cross-compilers for FreeBSD
When working through bugs for the LLVM 5.0 upgrade it looks like the FreeBSD
cross compilers we're currently using are unable to build LLVM, failing with
references to the function `std::to_string` claiming it doesn't exist. I don't
actually know what this function is, but assuming that it was added in a more
recent version of a C++ standard I've updated the gcc versions for the
toolchains we're using. This made the error go away!
2017-07-28 14:26:27 -07:00
bors
d02fb3bcf4 Auto merge of #42059 - derekdreery:bugfix/fix_emscripten_tests, r=alexcrichton
Make compiletest set cwd before running js tests

Proposed fix for #38800.

Not all tests pass yet - I will mention failures here once the test suite has finished.
2017-07-26 18:27:19 +00:00
Richard Dodd
874ecdc09f Remove custom node script 2017-07-26 09:43:09 +01:00
bors
bad58f2791 Auto merge of #43226 - alexcrichton:aarch64-ci, r=aidanhs
Add a disabled builder for aarch64 emulated tests

This commit adds a disabled builder which will run all tests for the standard
library for aarch64 in a QEMU instance. Once we get enough capacity to run this
on Travis this can be used to boost our platform coverage of AArch64
2017-07-26 03:53:46 +00:00
Milton Mazzarri
f516765b94 bootstrap: Major refactoring
This commit includes the following:

* Fix syntax errors in Python 3
* Include more docstrings in classes, methods, and functions
* Include unit tests using `unittest`
* Merge implementation of `{rustc,cargo}_out_of_date`
* Merge implementation of `RustBuild.{cargo,rustc}`
* Remove unnecessary source code
* Move all the attributes defined outside of `__init__`
* Remove remaining `%s` from print function
* Remove `WindowsError` reference on non-windows systems
* Rename some variables to be more explicit avoid their meaning
* Run bootstrap tests in the CI process
* Remove non-pythonic getters
* Remove duplicate code in `download_stage0` method
* Reduce the number of branches in `build_bootstrap` method
* Re-raise exception when we cannot execute uname in non-windows systems
* Avoid long lines
2017-07-25 06:37:10 -05:00
Alex Crichton
8ef3f69ffb Add a disabled builder for aarch64 emulated tests
This commit adds a disabled builder which will run all tests for the standard
library for aarch64 in a QEMU instance. Once we get enough capacity to run this
on Travis this can be used to boost our platform coverage of AArch64
2017-07-24 16:24:52 -07:00
Alex Crichton
8340f74eb7 travis: Switch curl -s to curl -f
I seem to have been a little too tired when I fixed up the container scripts,
applying the wrong flag!
2017-07-18 07:42:32 -07:00
Alex Crichton
c843661d9a travis: Make a few curl invocations more resilient
Use the `-f` flag to indicate that, for example, a 500 response code is to be
considered a failure, triggering the normal retry logic. Also ignore errors
where we check the date from google.com, as a failure there shouldn't fail the
build.
2017-07-17 20:11:24 -07:00
Thomas Lively
3bf8116280 Split old and experimental wasm builders 2017-07-13 08:59:01 -07:00
Ty Coghlan
250346128b Updated docker images to factor out common scripts 2017-07-12 21:25:36 -04:00
bors
33e353ea51 Auto merge of #43091 - aidanhs:aphs-no-docker-priv, r=alexcrichton
Privileged in docker run isn't necessary

Added relatively recently in https://github.com/rust-lang/rust/pull/40199/files#diff-71609a365528e4649836825d8250c241R57, but I don't see anything in that PR that requires it. If it's not strictly necessary, we shouldn't use it.

(if this lands I'll make a PR against libc which also uses privileged)

r? @alexcrichton
2017-07-07 08:13:20 +00:00
Aidan Hobson Sayers
4bd27fc21b Privileged in docker run isn't necessary 2017-07-06 23:16:12 +01:00
Aidan Hobson Sayers
7c8523e87b Retry downloading llvm commit tarball 2017-07-06 18:55:07 +01:00
Alex Crichton
7e6c9f3635 Switch to rust-lang-nursery/compiler-builtins
This commit migrates the in-tree `libcompiler_builtins` to the upstream version
at https://github.com/rust-lang-nursery/compiler-builtins. The upstream version
has a number of intrinsics written in Rust and serves as an in-progress rewrite
of compiler-rt into Rust. Additionally it also contains all the existing
intrinsics defined in `libcompiler_builtins` for 128-bit integers.

It's been the intention since the beginning to make this transition but
previously it just lacked the manpower to get done. As this PR likely shows it
wasn't a trivial integration! Some highlight changes are:

* The PR rust-lang-nursery/compiler-builtins#166 contains a number of fixes
  across platforms and also some refactorings to make the intrinsics easier to
  read. The additional testing added there also fixed a number of integration
  issues when pulling the repository into this tree.

* LTO with the compiler-builtins crate was fixed to link in the entire crate
  after the LTO process as these intrinsics are excluded from LTO.

* Treatment of hidden symbols was updated as previously the
  `#![compiler_builtins]` crate would mark all symbol *imports* as hidden
  whereas it was only intended to mark *exports* as hidden.
2017-07-05 07:08:36 -07:00
Thomas Lively
c130b83bae Restore old emscripten.sh for use by asmjs 2017-06-24 11:35:48 -07:00
Thomas Lively
4ad6a95860 Add Target (de)serialization for environment vars
Also turn WebAssembly backend back on in its builder.
2017-06-23 17:49:36 -07:00
Thomas Lively
a4f97449b0 Add wasm32-experimental-emscripten to wasm builder
This modifies the builder to download and use the LLVM tools from the
last known good build on the WebAssembly buildbot waterfall, since these
tools are built with the WebAssembly LLVM backend enabled.
2017-06-22 18:34:56 -07:00
Thomas Lively
447297ce59 Make wasm32 buildbot test LLVM backend
This adds the experimental targets option to configure so it can be used
by the builders and changes the wasm32 Dockerfile accordingly. Instead
of using LLVM from the emsdk, the builder's emscripten tools now uses
the Rust in-tree LLVM, since this is the one built with wasm support.
2017-06-22 18:34:56 -07:00
bors
c3627e25ee Auto merge of #42631 - malbarbo:wasm32, r=alexcrichton
Add a travis builder for wasm32-unknown-emscripten

This commits add an entry to travis matrix that will execute wasm32-unknown-emscripten tests suites.

- Emscripten for asmjs was updated to sdk-1.37.13-64bit
- The tests are run with node 8.0.0 (it can execute wasm)
- A wrapper script is used to run each test from the directory where it is (workaround for https://github.com/kripken/emscripten/issues/4542)
- Some tests are ignore, see #42629 and #42630
2017-06-16 07:54:59 +00:00
Aidan Hobson Sayers
d0c1e6480c Use --depth to speed up pristine submodule cloning
In addition, remove all the unused cache stuff
2017-06-15 00:31:39 +01:00
Marco A L Barbosa
9da77b3ec5 Disable wasm32 image 2017-06-13 19:14:15 -03:00
Marco A L Barbosa
35d6eb38d2 Make tidy happy 2017-06-13 12:39:35 -03:00
Marco A L Barbosa
dd0727fee4 Add missing emscripten.sh file 2017-06-13 11:02:00 -03:00
Marco A L Barbosa
9b88a1b30b Add docker image for wasm32-unknown-emscripten
- rename emscripten docker image to asmjs
- create wasm32 docker image
2017-06-13 09:32:30 -03:00
Marco Castelluccio
4c908a9d37 Enable profiler selectively on some builders 2017-06-06 18:09:33 +01:00
Marco Castelluccio
13b3c34e4b Spell profiler option correctly... 2017-06-06 00:42:09 +01:00
Marco Castelluccio
26ad8d4ad3 Enable profiler on all builders 2017-06-05 23:56:59 +01:00
Mark Simulacrum
3447aa764a Quiet tests on PR tests 2017-06-02 12:04:00 -06:00
kennytm
e6e5dc0e9c
ci: Improve log output (mainly Travis).
* Bring back colors on Travis, which was disabled since #39036.
  Append --color=always to cargo when running in CI environment.
* Removed `set -x` in the shell scripts. The `retry` function already
  prints which command it is running, add `-x` just add noise to the
  output.
* Support travis_fold/travis_time. Matching pairs of these allow Travis CI
  to collapse the output in between. This greatly cut down the unnecessary
  "successful" output one need to scroll through before finding the failed
  statement.
2017-06-02 01:14:26 +08:00
bors
920c4799be Auto merge of #42218 - venkatagiri:update_cross, r=alexchrichton
use shared scripts for init and sccache in cross image

cc #42201
cc @malbarbo
2017-05-28 22:15:10 +00:00
Venkata Giri Reddy
7acc999b42 ci: move musl install into their own scripts 2017-05-26 12:50:52 -04:00
Alex Crichton
357133b362 Update OpenSSL download location
In rustbuild itself we download from our mirror but in the containers we don't
do this yet. The OpenSSL download url changes from time to time (it breaks when
they release a new version) so let's download from our mirror instead.
2017-05-25 10:08:35 -07:00
Venkata Giri Reddy
5ce2eb1bd8 use shared scripts for init and sccache in cross image 2017-05-25 00:43:21 -06:00
Aidan Hobson Sayers
47f8b4a3d8 Hack around abysmally slow llvm clones 2017-05-25 02:19:00 +01:00
Marco A L Barbosa
9b184c0c17 ci: fix dist-powerpc-linux image 2017-05-18 17:11:46 -03:00
Marco A L Barbosa
502eadbf8f ci: add filesystem layout docs 2017-05-18 09:21:11 -03:00
Marco A L Barbosa
d15c950ac6 ci: move shared scripts to src/ci/docker/scripts/ 2017-05-18 08:33:10 -03:00
Marco A L Barbosa
307d8e5aa5 ci: allows shared scripts 2017-05-17 18:20:50 -03:00
Alex Crichton
c30e007b86 Update sccache binaries to mozilla/sccache@d3627d766
This commit updates the sccache binaries to fix a cache load failure seen
on #41926, fixed by mozilla/sccache#119
2017-05-12 09:07:10 -07:00
bors
2cc3358e4f Auto merge of #41864 - malbarbo:android-docker, r=alexcrichton
Add disabled android host builders

Introduce the concept of disabled builder. A disabled builder is one that is not run by travis. It is intended to be run by the user who wants a rustc for a tier 2 or 3 platform. Off corse, there is no guarantee that it will work.
2017-05-11 14:05:37 +00:00
Marco A L Barbosa
2e509d2410 Add disabled android host builders 2017-05-09 20:02:11 -03:00
Marco A L Barbosa
49f793ac17 ci: Update android ndk and sdk 2017-05-09 15:40:30 -03:00
Alex Crichton
aa891a57a1 ci: Update sccache build
Pulls in mozilla/sccache@ef0d77543 to fix #40240 again after the builds included
in #41447 forgot to include the mio fixed included in #41076.

Closes #40240
2017-04-29 00:29:54 -07:00
Alex Crichton
2e72bcb934 appveyor: Use Ninja/sccache on MSVC
Now that the final bug fixes have been merged into sccache we can start
leveraging sccache on the MSVC builders on AppVeyor instead of relying on the
ad-hoc caching strategy of trigger files and whatnot.
2017-04-27 07:19:34 -07:00
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