language: rust
rust: nightly
sudo: false

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

script:
  - cargo build --features="iron"
  - cargo build --features="rocket"
  - 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_lints maud_extras; do
      (cd $package && cargo clippy -- -D warnings) || CLIPPY_STATUS=$?
    done
    (exit $CLIPPY_STATUS)