sudo: false
language: rust
cache: cargo

script:
  - cargo build --verbose
  - cargo test --verbose

# Check formatting before running tests
stages:
  - formatting
  - test
  - lint
jobs:
  include:
    # Add an additional stage to check formatting
    - stage: formatting
      os: linux
      rust: stable
      before_install: rustup component add rustfmt-preview
      script: cargo fmt -- --write-mode=diff

    # Base line for backwards compatibility
    - stage: test
      os: linux
      rust: '1.23.0'
    # Our target Rust version
    - stage: test
      os: linux
      rust: stable
    # Catch regressions in beta and nightly
    - stage: test
      os: linux
      rust: beta
    - stage: test
      os: linux
      rust: nightly

    # Run clippy after testing, with a pinned clippy version and a compatible
    # nightly snapshot
    - stage: lint
      os: linux
      rust: nightly
      before_install: rustup component add clippy-preview
      script: cargo clippy

sudo: false
language: rust
cache: cargo

script:
  - cargo build --verbose
  - cargo test --verbose

# Check formatting before running tests
stages:
  - formatting
  - test
  - lint
jobs:
  include:
    # Add an additional stage to check formatting
    - stage: formatting
      os: linux
      rust: stable
      before_install: rustup component add rustfmt-preview
      script: cargo fmt -- --check

    # Base line for backwards compatibility
    - stage: test
      os: linux
      rust: '1.23.0'
    # Our target Rust version
    - stage: test
      os: linux
      rust: stable
    # Catch regressions in beta and nightly
    - stage: test
      os: linux
      rust: beta
    - stage: test
      os: linux
      rust: nightly

    # Run clippy after testing
    - stage: lint
      os: linux
      rust: stable
      before_install: rustup component add clippy-preview
      script: cargo clippy

Update Travis CI config to rust 1.29
Update Travis CI config  to rust 1.29
