language: rust
rust:
  - stable
  - beta
  - nightly
  - 1.34.2 # Debian Stretch
  - 1.42.0 # Debian Bullseye
env:
  - FEATURES="ignore-ui"
  - FEATURES="ignore-ui combinators"
jobs:
  allow_failures:
    - rust: nightly
  fast_finish: true
  include:
    # Test error messages
    - rust: stable
      env: FEATURES=""
    # Test "experimental" feature
    - rust: nightly
      env: FEATURES="ignore-ui experimental"
    - rust: nightly
      env: FEATURES="ignore-ui combinators experimental"
  exclude:
    # Redundant
    - rust: stable
      env: FEATURES="ignore-ui"

script:
  - cargo build --features "$FEATURES" --verbose
  - cargo test  --features "$FEATURES" --verbose
