trigger:
  - master

strategy:
  matrix:
    linux-nightly:
      image: ubuntu-16.04
    macos-nightly:
      image: macos-10.14
    windows-nightly:
      image: vs2017-win2016

pool:
  vmImage: $(image)

steps:
  - bash: |
      set -e
      curl https://sh.rustup.rs -sSf | sh -s -- -y --no-modify-path --default-toolchain `cat rust-toolchain`
      export PATH=$HOME/.cargo/bin:$PATH
      rustc -Vv
      echo "##vso[task.prependpath]$HOME/.cargo/bin"
      rustup component add rustfmt --toolchain `cat rust-toolchain`
    displayName: Install Rust
  - bash: RUSTFLAGS="-D warnings" cargo test --all-features
    displayName: Run tests
  - bash: cargo fmt --all -- --check
    displayName: Lint