]> git.lizzy.rs Git - rust.git/blobdiff - .travis.yml
Switch to declare_tool_lint macro
[rust.git] / .travis.yml
index 3cad8a7b7a7ba0ee5c5394c1c18ad1e9053a362a..c6bd67ae0f3df6ffed8283d7a9f74fa0236f3cbf 100644 (file)
@@ -4,50 +4,69 @@ rust: nightly
 
 os:
   - linux
-  - osx
+  # - osx # doesn't even start atm. Not sure what travis is up to. Disabling to reduce the noise
 
 sudo: false
 
-cache:
-  cargo: true
-  directories:
-  - clippy_lints/target
-
 env:
  global:
    # TRAVIS_TOKEN_CLIPPY_SERVICE
-   secure: dj8SwwuRGuzbo2wZq5z7qXIf7P3p7cbSGs1I3pvXQmB6a58gkLiRn/qBcIIegdt/nzXs+Z0Nug+DdesYVeUPxk1hIa/eeU8p6mpyTtZ+30H4QVgVzd0VCthB5F/NUiPVxTgpGpEgCM9/p72xMwTn7AAJfsGqk7AJ4FS5ZZKhqFI=
+   - secure: dj8SwwuRGuzbo2wZq5z7qXIf7P3p7cbSGs1I3pvXQmB6a58gkLiRn/qBcIIegdt/nzXs+Z0Nug+DdesYVeUPxk1hIa/eeU8p6mpyTtZ+30H4QVgVzd0VCthB5F/NUiPVxTgpGpEgCM9/p72xMwTn7AAJfsGqk7AJ4FS5ZZKhqFI=
+   - RUST_BACKTRACE=1
+
+before_install:
+ - |
+    # work-around for issue https://github.com/travis-ci/travis-ci/issues/6307
+    # might not be necessary in the future
+    if [ "$TRAVIS_OS_NAME" == "osx" ]; then
+     command curl -sSL https://rvm.io/mpapis.asc | gpg --import -
+     rvm get stable
+    fi
 
 install:
-  - . $HOME/.nvm/nvm.sh
-  - nvm install stable
-  - nvm use stable
-  - npm install remark-cli remark-lint
-  # || true, because we cache rustfmt and don't want to crash on the next travis run
-  # due to rustfmt already being installed
-  - (cargo install rustfmt || true)
+  - |
+    if [ -z ${INTEGRATION} ]; then
+      . $HOME/.nvm/nvm.sh
+      nvm install stable
+      nvm use stable
+      npm install remark-cli remark-lint
+    fi
+
+matrix:
+  include:
+    - env: BASE_TESTS=true # runs the base tests
+    - env: INTEGRATION=rust-lang/cargo
+    - env: INTEGRATION=rust-lang-nursery/rand
+    - env: INTEGRATION=rust-lang-nursery/stdsimd
+    - env: INTEGRATION=rust-lang-nursery/rustfmt
+    - env: INTEGRATION=rust-lang-nursery/futures-rs
+    - env: INTEGRATION=rust-lang-nursery/failure
+    - env: INTEGRATION=rust-lang-nursery/log
+    - env: INTEGRATION=rust-lang-nursery/chalk
+    - env: INTEGRATION=rust-lang-nursery/rls
+    - env: INTEGRATION=chronotope/chrono
+    - env: INTEGRATION=serde-rs/serde
+    - env: INTEGRATION=Geal/nom
+    - env: INTEGRATION=hyperium/hyper
 
 script:
- - PATH=$PATH:./node_modules/.bin
- - remark -f README.md > /dev/null
- - python util/update_lints.py -c
- - set -e
- - PATH=$PATH:~/.cargo/bin cargo fmt -- --write-mode=diff
- - cd clippy_lints && PATH=$PATH:~/.cargo/bin cargo fmt -- --write-mode=diff && cd ..
- - cargo build --features debugging
- - cargo test --features debugging
- - mkdir -p ~/rust/cargo/bin
- - cp target/debug/cargo-clippy ~/rust/cargo/bin/cargo-clippy
- - PATH=$PATH:~/rust/cargo/bin cargo clippy -- -D clippy
- - cd clippy_lints && PATH=$PATH:~/rust/cargo/bin cargo clippy -- -D clippy && cd ..
- - set +e
+  - |
+    if [ -z ${INTEGRATION} ]; then
+      ./ci/base-tests.sh
+    else
+      ./ci/integration-tests.sh
+    fi
 
 after_success: |
+  #!/bin/bash
   if [ $(uname) == Linux ]; then
-    ./.github/deploy.sh
-  # trigger rebuild of the clippy-service, to keep it up to date with clippy itself
-    #!/bin/bash
-    set -e
+    set -ex
+    if [ -z ${INTEGRATION} ]; then
+      ./.github/deploy.sh
+    else
+      echo "Not deploying, because we're in an integration test run"
+    fi
+    # trigger rebuild of the clippy-service, to keep it up to date with clippy itself
     if [ "$TRAVIS_PULL_REQUEST" == "false" ] &&
        [ "$TRAVIS_REPO_SLUG" == "Manishearth/rust-clippy" ] &&
        [ "$TRAVIS_BRANCH" == "master" ] &&