]> git.lizzy.rs Git - rust.git/blob - .travis.yml
auto merge of #14801 : pcwalton/rust/name-shadowing-in-one-pattern, r=alexcrichton
[rust.git] / .travis.yml
1 # Use something that's not 'ruby' so we don't set up things like
2 # RVM/bundler/ruby and whatnot. Right now 'rust' isn't a language on travis and
3 # it treats unknown languages as ruby-like I believe.
4 language: c
5
6 # Before we start doing anything, install a stock LLVM
7 install:
8   - sudo sh -c "echo 'deb http://llvm.org/apt/precise/ llvm-toolchain-precise-3.4 main' >> /etc/apt/sources.list"
9   - sudo sh -c "echo 'deb http://llvm.org/apt/precise/ llvm-toolchain-precise main' >> /etc/apt/sources.list"
10   - sudo sh -c "echo 'deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu precise main' >> /etc/apt/sources.list"
11   - wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
12   - sudo apt-get update -qq
13   - sudo apt-get install -qq --force-yes -y llvm-$LLVM_VERSION
14     llvm-${LLVM_VERSION}-dev clang-$LLVM_VERSION lldb-$LLVM_VERSION
15     libjemalloc-dev
16
17
18 # All of the llvm tools are suffixed with "-$VERS" which we don't want, so
19 # symlink them all into a local directory and just use that
20 #
21 # FIXME: this shouldn't update the src/llvm sub-repo, that takes about a minute
22 #        it's gotta download so much stuff.
23 before_script:
24   - mkdir -p local-llvm/bin
25   - ln -nsf /usr/bin/llvm-config-$LLVM_VERSION local-llvm/bin/llvm-config
26   - ln -nsf /usr/bin/llvm-mc-$LLVM_VERSION local-llvm/bin/llvm-mc
27   - ln -nsf /usr/bin/llvm-as-$LLVM_VERSION local-llvm/bin/llvm-as
28   - ln -nsf /usr/bin/llvm-dis-$LLVM_VERSION local-llvm/bin/llvm-dis
29   - ln -nsf /usr/bin/llc-$LLVM_VERSION local-llvm/bin/llc
30   - ln -nsf /usr/include/llvm-$LLVM_VERSION local-llvm/include
31   - ./configure --disable-optimize-tests --llvm-root=`pwd`/local-llvm
32     --enable-fast-make --enable-clang --jemalloc-root=/usr/lib
33
34 # Tidy everything up first, then build a few things, and then run a few tests.
35 # Note that this is meant to run in a "fairly small" amount of time, so this
36 # isn't exhaustive at all.
37 #
38 # As a result of https://github.com/travis-ci/travis-ci/issues/1066, we run
39 # everything in one large command instead of multiple commands.
40 script: |
41   if [[ $TRAVIS_PULL_REQUEST != 'false' ]]; then
42     if [[ $LLVM_VERSION != '3.4' ]]; then exit 0; fi
43   fi &&
44   make tidy &&
45   travis_wait make -j4 rustc-stage1 &&
46   make check-stage1-std check-stage1-rpass check-stage1-cfail check-stage1-rfail check-stage1-doc
47
48 env:
49   global:
50     - NO_BENCH=1
51   matrix:
52     - LLVM_VERSION=3.3
53     - LLVM_VERSION=3.4
54
55 # We track this ourselves, and in theory we don't have to update the LLVM repo
56 # (but sadly we do right now anyway).
57 git:
58   submodules: false
59
60 notifications:
61   email: false
62
63 branches:
64   only:
65     - master