76 lines
2.5 KiB
YAML
76 lines
2.5 KiB
YAML
# 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 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%"
|
|
- cd ..
|
|
|
|
# Build juniper_codegen and run tests.
|
|
- cd juniper_codegen
|
|
- cargo build --verbose
|
|
- cargo test
|
|
- cd ..
|
|
|
|
# Build and run integration tests.
|
|
- cd juniper_tests
|
|
- cargo build --verbose
|
|
- cargo test
|