language: rust
rust: nightly
sudo: false

before_script:
  - rustup component add clippy-preview --toolchain=nightly

script:
  - (cd maud && cargo build --features="iron")
  - (cd maud && cargo build --features="rocket")
  - (cd maud && cargo build --features="actix-web")
  - cargo test --all
  - (cd benchmarks && cargo bench --no-run)
  - |
    CLIPPY_STATUS=0
    for package in maud_htmlescape maud_macros maud maud_extras; do
      (cd $package && cargo clippy -- -D warnings) || CLIPPY_STATUS=$?
    done
    (exit $CLIPPY_STATUS)