aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 7542cda8f2aa0772ebd1698040e256ad4ce01a3a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
language: rust
addons:
  apt:
    update: true
    packages:
      - binutils-dev
      - libunwind8-dev
      - libcurl4-openssl-dev
      - libelf-dev
      - libdw-dev
      - cmake
      - gcc
      - libiberty-dev
matrix:
  include:
    - rust: 1.36.0
    - rust: nightly
    - rust: beta
      env: DO_FUZZ=true
    - rust: stable
      env: DO_FUZZ=true
script:
  - |
    if [[ "$TRAVIS_RUST_VERSION" == stable ]]
    then
      rustup component add rustfmt
      cargo fmt --all -- --check
    fi
  - |
    cargo build --verbose &&
    cargo test --verbose &&
    cargo test --verbose --features serde &&
    ([ $TRAVIS_RUST_VERSION != nightly ] || cargo check --verbose --no-default-features) &&
    ([ $TRAVIS_RUST_VERSION != nightly ] || cargo test --verbose --features union) &&
    ([ $TRAVIS_RUST_VERSION != nightly ] || cargo test --verbose --all-features) &&
    ([ $TRAVIS_RUST_VERSION != nightly ] || cargo bench --verbose bench) &&
    ([ $TRAVIS_RUST_VERSION != nightly ] || bash ./scripts/run_miri.sh) &&
    if [ "$DO_FUZZ" = true ]
    then
    (
      cd fuzz
      ./travis-fuzz.sh
    )
    fi