# 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 ,Cargo and cargo-make. # (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 install --debug cargo-make # '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: - cd juniper && cargo build --verbose && cargo test --verbose && cd .. - cd juniper_codegen && cargo build --verbose && cargo test --verbose && cd .. - cd juniper_tests && cargo build --verbose && cargo test --verbose && cd .. - cd juniper_iron && cargo build --verbose && cargo test --verbose && cd .. - IF NOT %TARGET% == %TARGET:msvc=% ( IF %CHANNEL% == "nightly" ( cd juniper_rocket && cargo test --verbose && cargo build --verbose && cd .. ) )