Commit Graph

161 Commits

Author SHA1 Message Date
Simon Sapin
f4f18586e7 Move cargotest to separate jobs on Travis-CI and AppVeyor 2017-10-23 13:12:12 +02:00
kennytm
c77068a94b Rollup merge of #45326 - cuviper:min-llvm-3.9, r=alexcrichton
Bump the minimum LLVM to 3.9

Old LLVM bugs are reportedly cropping up harder, but 3.9 seems to be OK.

Fixes #45277.
2017-10-19 01:59:52 +08:00
Josh Stone
68311bdf2b Bump the minimum LLVM to 3.9
Old LLVM bugs are reportedly cropping up harder, but 3.9 seems to be OK.

Fixes #45277.
2017-10-16 13:10:16 -07:00
Alex Crichton
978349ea43 ci: Update Travis OSX builders
Looks like Travis [has announced][blog] that our current `xcode8.2` image is
being deprecated and the recommended Xcode 7 image is `xcode7.3`. This updates
us to these ahead of time to make sure we can shake out any bugs, if any.

[blog]: https://blog.travis-ci.com/2017-10-16-a-new-default-os-x-image-is-coming
2017-10-16 08:27:03 -07:00
bgermann
dba52ff9cd restore 'if: branch = auto' for cross2 builder 2017-10-05 20:42:27 +02:00
bgermann
9bff9e0ce9 delete 'if: branch = auto' for cross2 builder 2017-10-05 17:21:28 +02:00
bgermann
4e69d2e3eb Merge dist-solaris with cross2 builder 2017-10-05 01:22:30 +02:00
Tim Neumann
80d7e76185 Rollup merge of #44617 - alexcrichton:download-from-us-west-1, r=aidanhs
ci: Upload/download from a new S3 bucket

Moving buckets from us-east-1 to us-west-1 because us-west-1 is where
rust-central-station itself runs and in general is where we have all our other
buckets.
2017-09-17 13:19:11 +02:00
bors
ef227f5ffe Auto merge of #44641 - alexcrichton:disable-more-osx-assertions, r=Mark-Simulacrum
ci: Disable rustc debug assertions on OSX

This commit disables debug assertions for OSX in an effort to improve cycle time
on OSX. It looks like #44610 didn't shave off quite as much time as desired so
let's see how much this helps.
2017-09-17 05:19:00 +00:00
Alex Crichton
c1a83acf98 ci: Disable rustc debug assertions on OSX
This commit disables debug assertions for OSX in an effort to improve cycle time
on OSX. It looks like #44610 didn't shave off quite as much time as desired so
let's see how much this helps.
2017-09-16 17:25:12 -07:00
Alex Crichton
2bd4dcf891 Rollup merge of #44631 - kennytm:travis-conditional-jobs, r=alexcrichton
Make use of Travis's conditional jobs.

Conditional jobs: https://docs.travis-ci.com/user/conditional-builds-stages-jobs/#Conditional-Jobs.

Jobs not matching the condition will not be scheduled at all. This allows us to get rid of `$ALLOW_PR`/`$ALLOW_TRY`/`$SKIP_BUILD` in `.travis.yml`, and perfectly prevent spurious PR failures due to flaky macOS machines.
2017-09-16 17:09:41 -07:00
Alex Crichton
c25290d715 Rollup merge of #44574 - alexcrichton:new-sccache-region, r=aidanhs
travis: Move sccache to the us-west-1 region

Most of the other rust-lang buckets are in us-west-1 and I think the original
bucket was just accidentally created in the us-east-1 region. Let's consolidate
by moving it to the same location as the rest of our buckets.
2017-09-16 17:09:39 -07:00
Alex Crichton
5cfee9b854 ci: Upload/download from a new S3 bucket
Moving buckets from us-east-1 to us-west-1 because us-west-1 is where
rust-central-station itself runs and in general is where we have all our other
buckets.
2017-09-16 08:35:47 -07:00
kennytm
9f763549c1
Make use of Travis's conditional jobs. 2017-09-16 19:28:08 +08:00
Alex Crichton
97fee3e94b travis: Disable LLVM assertions on OSX
Our OSX builders are routinely and significantly over hour 2 hour "soft limit"
for testing PRs. I *think* that a big portion of this time comes from the fact
that LLVM and debug assertions are enabled. In an effort to speed up these
builders and reduce cycle time this commit disables LLVM assertions on OSX for
all builders.

My thinking is that we'll let this bake for a bit after merged to see what the
effect is on timing on Travis. If it doesn't actually help much we can turn them
back on, and if it doesn't help enough we can disable Rust debug assertions as
well.
2017-09-15 10:34:05 -07:00
Alex Crichton
ddd321df91 travis: Move sccache to the us-west-1 region
Most of the other rust-lang buckets are in us-west-1 and I think the original
bucket was just accidentally created in the us-east-1 region. Let's consolidate
by moving it to the same location as the rest of our buckets.
2017-09-14 13:17:25 -07:00
bors
5d744e94c2 Auto merge of #44410 - alexcrichton:fix-travis, r=Mark-Simulacrum
Fix sanitizer tests on buggy kernels

Travis recently pushed an update to the Linux environments, namely the kernels
that we're running on. This in turn caused some of the sanitizer tests we run to
fail. We also apparently weren't the first to hit these failures! Detailed in
google/sanitizers#837 these tests were failing due to a specific commit in the
kernel which has since been backed out, but for now work around the buggy kernel
that's deployed on Travis and eventually we should be able to remove these
flags.
2017-09-11 09:47:06 +00:00
bors
a0b34199ba Auto merge of #44385 - alexcrichton:new-sccache-keys, r=alexcrichton
Rotate Travis/AppVeyor S3 keys

Haven't done this in awhile so seems like a good idea!
2017-09-11 07:18:27 +00:00
Alex Crichton
8fbed5bc42 Rotate Travis/AppVeyor S3 keys
Haven't done this in awhile so seems like a good idea!
2017-09-09 11:14:43 -07:00
Alex Crichton
43efccee89 Fix sanitizer tests on buggy kernels
Travis recently pushed an update to the Linux environments, namely the kernels
that we're running on. This in turn caused some of the sanitizer tests we run to
fail. We also apparently weren't the first to hit these failures! Detailed in
google/sanitizers#837 these tests were failing due to a specific commit in the
kernel which has since been backed out, but for now work around the buggy kernel
that's deployed on Travis and eventually we should be able to remove these
flags.
2017-09-07 20:44:38 -07:00
Alex Crichton
7ed298609c travis: Downgrade to previous images temporarily
Travis is in the process of [rolling out an update][update] but looks like our
tests are breaking, let's temporarily roll back to get the queue moving again.

[update]: https://blog.travis-ci.com/2017-08-29-trusty-image-updates
2017-09-07 13:48:35 -07:00
kennytm
a7eb87e4fc
Change Travis CI job order.
Reorder the job matrix to take advantage of the order how Travis CI starts
them in rust-lang/rust. Plus other refactoring of `.travis.yml`.

1. Move the `$ALLOW_PR` image to the top, so users' PRs will start testing
   immediately. Previously the `$ALLOW_PR` image starts 6 minutes after the
   build was scheduled.

2. Move the slow macOS images near the top, so they share more time with
   the rest of the faster Linux builds, which should shorten total test
   time (actually not much, about 7 minutes at most if this change does
   work).

3. Merged the `install` section of both Linux and macOS to make the `env:`
   section a bit shorter, and enable change 4 below.

4. Do not download or install anything if `$SKIP_BUILD == true`, which
   further reduces chance of spurious failure in the PR-CI stage (avoid the
   red cross appearing even if CI passed).
2017-07-18 15:44:18 +08: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
Steve Klabnik
591d8a1081 Rollup merge of #43167 - SimonSapin:alt-profiler, r=alexcrichton
Enable profiler on "alternate" builds

This hopefully fixes #42967 and #43085.
2017-07-13 10:45:19 -04:00
Mark Simulacrum
b7a4c54413 Change language in Travis configuration to shell
In theory, this will give us more disk space to work with and unblock the queue.
2017-07-12 16:34:18 -06:00
Simon Sapin
a148f5ba24 Enable profiler on "alternate" builds
This hopefully fixes #42967 and #43085.
2017-07-11 14:01:04 +02:00
Aidan Hobson Sayers
984e76468b Record some details to help with possible bad clocks 2017-06-28 23:36:34 +01:00
Aidan Hobson Sayers
b689e46c62 Stamp the whole build script 2017-06-28 22:54:05 +01: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
bors
dfa7e21e4e Auto merge of #42433 - marco-c:profiling, r=alexcrichton
Build instruction profiler runtime as part of compiler-rt

r? @alexcrichton

This is #38608 with some fixes.

Still missing:
- [x] testing with profiler enabled on some builders (on which ones? Should I add the option to some of the already existing configurations, or create a new configuration?);
- [x] enabling distribution (on which builders?);
- [x] documentation.
2017-06-14 08:46:14 +00:00
Marco A L Barbosa
9da77b3ec5 Disable wasm32 image 2017-06-13 19:14:15 -03:00
Marco A L Barbosa
124ad70a9c Let's try 2017-06-13 17:01:39 -03:00
Marco A L Barbosa
f0c400b04e travis: Enable wasm32-unknown-emscripten tests 2017-06-13 10:49:03 -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
Mark Simulacrum
d2ff798f3a Don't run travis tests on master.
This saves us builders for more helpful purposes.
2017-06-04 00:00:22 -06:00
Tom Prince
abb50f2dfa Deploy linux-x86_64 artifacts on try branch. 2017-06-03 19:23:59 -06:00
kennytm
1222b7a9d1
Change .travis.yml's language: minimal to generic.
There is no `minimal` language. Due to travis-ci/travis-ci#4895, it will
fallback to `ruby`, which certainly isn't what we want. `generic` is an
undocumented (travis-ci/docs-travis-ci-com#910) language that serves the
desired purpose.
2017-06-02 01:14:26 +08: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
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
acdenisSK
a257d5afb0 Fix "an" usage 2017-05-06 16:06:38 +02:00
Corey Farwell
10fde3393b Rollup merge of #41600 - ranma42:xz-dist, r=alexcrichton
Generate XZ-compressed tarballs

Integrate the new `rust-installer` and extend manifests with keys for xz-compressed tarballs.

One of the steps required for https://github.com/rust-lang/rust/issues/21724
2017-05-03 18:34:00 -04:00
Andrea Canciani
98dd82c013 Retry brew commands upon failure
Wrap the installation on macOS with `travis_retry`.
2017-05-03 22:38:41 +02:00
Andrea Canciani
5e522d73a3 Fix MacOSX build
MacOSX does not ship `7z` nor `xz`. Let's use `xz`, just like on the
other *nix systems.
2017-05-03 08:09:37 +02: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
kennytm
00dff0aa59
Support AddressSanitizer and ThreadSanitizer on x86_64-apple-darwin.
ASan and TSan are supported on macOS, and this commit enables their
support.

The sanitizers are always built as *.dylib on Apple platforms, so they
cannot be statically linked into the corresponding `rustc_?san.rlib`. The
dylibs are directly copied to `lib/rustlib/x86_64-apple-darwin/lib/`
instead.

Note, although Xcode also ships with their own copies of ASan/TSan dylibs,
we cannot use them due to version mismatch.

There is a caveat: the sanitizer libraries are linked as @rpath, so the
user needs to additionally pass `-C rpath`:

    rustc -Z sanitizer=address -C rpath file.rs
                               ^~~~~~~~

Otherwise there will be a runtime error:

    dyld: Library not loaded: @rpath/libclang_rt.asan_osx_dynamic.dylib
      Referenced from: /path/to/executable
      Reason: image not found
    Abort trap: 6

The next commit includes a temporary change in compiler to force the linker
to emit a usable @rpath.
2017-04-25 10:31:01 +08:00
Aidan Hobson Sayers
24640b306e Disable git caches again 2017-04-19 16:29:47 +01: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