# Build and test on stable, beta, and nightly on Windows. # # Copied general structure from https://github.com/japaric/rust-everywhere/blob/master/appveyor.yml environment: matrix: # Stable channel - TARGET: i686-pc-windows-gnu CHANNEL: stable - TARGET: i686-pc-windows-msvc CHANNEL: stable - TARGET: x86_64-pc-windows-gnu CHANNEL: stable - TARGET: x86_64-pc-windows-msvc CHANNEL: stable # Beta channel - TARGET: i686-pc-windows-gnu CHANNEL: beta - TARGET: i686-pc-windows-msvc CHANNEL: beta - TARGET: x86_64-pc-windows-gnu CHANNEL: beta - TARGET: x86_64-pc-windows-msvc CHANNEL: beta # Nightly channel - TARGET: i686-pc-windows-gnu CHANNEL: nightly - TARGET: i686-pc-windows-msvc CHANNEL: nightly - TARGET: x86_64-pc-windows-gnu CHANNEL: nightly - TARGET: x86_64-pc-windows-msvc CHANNEL: nightly # Install Rust and Cargo # (Based on from https://github.com/rust-lang/libc/blob/master/appveyor.yml) install: - curl -sSf -o rustup-init.exe https://win.rustup.rs - rustup-init.exe --default-host %TARGET% --default-toolchain %CHANNEL% -y - set PATH=%PATH%;C:\Users\appveyor\.cargo\bin - rustc -Vv - cargo -V # 'cargo test' takes care of building for us, so disable Appveyor's build stage. This prevents # the "directory does not contain a project or solution file" error. # source: https://github.com/starkat99/appveyor-rust/blob/master/appveyor.yml#L113 build: false test_script: # Build and test all crates. - cargo build --all --verbose - cargo test --all # Build and test main juniper crate with certain features. - cd juniper - cargo build --verbose --features iron-handlers - IF "%CHANNEL%"=="nightly" (cargo build --verbose --features rocket-handlers) # Build example binaries; first Iron, then Rocket examples - cargo build --verbose --example server --features "iron-handlers expose-test-schema" - IF "%CHANNEL%"=="nightly" (cargo build --verbose --example rocket-server --features "rocket-handlers expose-test-schema") # Run all tests for the base library and available integrations - set TEST_FEATURES=iron-handlers expose-test-schema - IF "%CHANNEL%"=="nightly" (set TEST_FEATURES=%TEST_FEATURES% rocket-handlers rocket/testing) - cargo test --verbose --features "%TEST_FEATURES%"