dist: xenial
language: rust
stages:
  - Check
  - Test
jobs:
  include:
    - stage: Check
      name: Format
      script:
        - rustup component add rustfmt
        - cargo fmt --all -- --check
    - stage: Check
      name: Clippy
      env: RUSTFLAGS='-F warnings'
      script:
        - rustup component add clippy
        - cargo clippy --all --all-targets
    - stage: Test
      name: Unit Test
      env: RUSTFLAGS='-F warnings'
      script:
        - cargo test --all --verbose
