1os: linux
2language: rust
3cache: cargo
4before_cache:
5  - find target/debug -type f -maxdepth 1 -delete
6  - rm -rf target/.rustc_info.json
7  - rm -rf target/debug/examples
8  - rm -rf target/debug/incremental
9  - rm -rf target/tests/target/debug/incremental
10  - rm -rf target/tests/target/debug/deps/{clap*, trybuild*}
11  - rm -rf target/debug/{deps,.fingerpint}/clap*
12  - find target/debug/deps -name "clap*" -exec rm -rf {} +
13  - ls -1 examples/ | sed -e 's/\.rs$//' | xargs -I "{{}}" find target/debug/deps -name "{{}}*" -exec rm -rf {} +
14  - ls -1 tests/ | sed -e 's/\.rs$//' | xargs -I "{{}}" find target/debug/deps -name "{{}}*" -exec rm -rf {} +
15rust: stable
16branches:
17  only:
18    # Always build master & Enable building pull requests.
19    - v2-master
20jobs:
21  allow_failures:
22    - rust: nightly
23    - env:
24        - SHARD=coverage
25  fast_finish: true
26  include:
27    - os: osx
28      rust: 1.36.0
29    - rust: 1.36.0
30    - {}
31    - rust: beta
32    - rust: nightly
33    - env:
34        - SHARD=lint
35      before_script:
36        - rustup component add clippy
37        - rustup component add rustfmt
38      script:
39        - echo "Checking codebase with Clippy release `cargo clippy --version`."
40        - cargo clippy --lib --features "yaml unstable"
41        - cargo clippy --tests --examples --features "yaml unstable"
42        - cargo fmt -- --check
43    - rust: nightly
44      env:
45        - SHARD=bench
46      script:
47        - cargo bench
48    - env:
49        - SHARD=coverage
50      addons:
51        apt:
52          packages:
53            - libssl-dev
54            - cmake
55            - pkg-config
56            - zlib1g-dev
57          update: true
58      before_script:
59        - cargo install cargo-tarpaulin
60      script:
61        - cargo tarpaulin --features "yaml unstable" --ciserver travis-ci --coveralls $TRAVIS_JOB_ID
62script:
63  - cargo test --no-default-features
64  - cargo test --features yaml unstable
65notifications:
66  email: false
67