rust/.travis.yml

67 lines
2.0 KiB
YAML

language: rust
rust: nightly
os:
- linux
- osx
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=
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)
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
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
set -e
if [ "$TRAVIS_PULL_REQUEST" == "false" ] &&
[ "$TRAVIS_REPO_SLUG" == "Manishearth/rust-clippy" ] &&
[ "$TRAVIS_BRANCH" == "master" ] &&
[ "$TRAVIS_TOKEN_CLIPPY_SERVICE" != "" ] ; then
curl -s -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Travis-API-Version: 3" \
-H "Authorization: token $TRAVIS_TOKEN_CLIPPY_SERVICE" \
-d "{ \"request\": { \"branch\":\"master\" }}" \
https://api.travis-ci.org/repo/gnunicorn%2Fclippy-service/requests
else
echo "Ignored"
fi
set +e
fi