e8a03285b7
Tidy is still run first for failing fast on the easy stuff. To accomplish this we have travis actually persist ccache across builds. This has LLVM built within 6 minutes, and all of stage1 built within 18. Caching should work on fresh PRs (cache acquired from the master branch). Because all we persist is ccache, there is minimal danger of persisting corrupt build state. I had to mangle `configure` a bit to make --enable-ccache work when custom compilers are provide via CC and CXX.
48 lines
1.3 KiB
YAML
48 lines
1.3 KiB
YAML
# ccache support is disabled unless your language is a C-derivative. However
|
|
# `language: C` unconditionally sets `CC=compiler`. If we just set it in our
|
|
# `env` it will be overwritten by the default (gcc 4.6).
|
|
language: c
|
|
compiler: /usr/bin/gcc-4.7
|
|
cache: ccache
|
|
sudo: false
|
|
|
|
# The test suite is in general way too stressful for travis, especially in
|
|
# terms of time limit and reliability. In the past we've tried to scale things
|
|
# back to only build the stage1 compiler and run a subset of tests, but this
|
|
# didn't end up panning out very well.
|
|
#
|
|
# As a result, we're just using travis to run `make tidy` and *only* build
|
|
# stage1 but *not* test it for now (a strict subset of the bootstrap). This will
|
|
# catch "obvious" errors like style or not even compiling.
|
|
#
|
|
# We need gcc4.7 or higher to build LLVM, and travis (well, Ubuntu 12.04)
|
|
# currently ships with 4.6. Gotta download our own.
|
|
before_script:
|
|
- ./configure --enable-ccache
|
|
script:
|
|
- make tidy
|
|
- make rustc-stage1 -j4
|
|
|
|
env:
|
|
- CXX=/usr/bin/g++-4.7
|
|
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- gcc-4.7
|
|
- g++-4.7
|
|
|
|
# Real testing happens on http://buildbot.rust-lang.org/
|
|
#
|
|
# See https://github.com/rust-lang/rust-buildbot
|
|
# CONTRIBUTING.md#pull-requests
|
|
|
|
notifications:
|
|
email: false
|
|
|
|
branches:
|
|
only:
|
|
- master
|