# Documentation: https://aka.ms/yaml trigger: batch: true branches: include: # This is where pull requests from "bors r+" are built. - staging # This is where pull requests from "bors try" are built. - trying # Build pull requests. - master # Build post braches - post-* strategy: matrix: linux: image_name: 'ubuntu-16.04' rustup_toolchain: nightly mac: image_name: 'macos-10.13' rustup_toolchain: nightly windows: image_name: 'vs2017-win2016' rustup_toolchain: nightly pool: vmImage: $(image_name) steps: - bash: | echo "Hello world from $AGENT_NAME running on $AGENT_OS" echo "Reason: $BUILD_REASON" case "$BUILD_REASON" in "Manual") echo "$BUILD_REQUESTEDFOR manually queued the build." ;; "PullRequest") echo "This is a CI build for a pull request on $BUILD_REQUESTEDFOR." ;; "IndividualCI") echo "This is a CI build for $BUILD_REQUESTEDFOR." ;; "BatchedCI") echo "This is a batched CI build for $BUILD_REQUESTEDFOR." ;; *) "$BUILD_REASON" ;; esac displayName: 'Build Info' continueOnError: true - script: | curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain $RUSTUP_TOOLCHAIN echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin" condition: or(eq( variables['Agent.OS'], 'Linux' ), eq( variables['Agent.OS'], 'Darwin' )) displayName: 'Install Rust (Linux/macOS)' - script: | curl -sSf -o rustup-init.exe https://win.rustup.rs rustup-init.exe -y --default-toolchain %RUSTUP_TOOLCHAIN% echo ##vso[task.setvariable variable=PATH;]%PATH%;%USERPROFILE%\.cargo\bin condition: eq( variables['Agent.OS'], 'Windows_NT' ) displayName: 'Install Rust (Windows)' - script: | rustc -Vv cargo -V displayName: 'Print Rust Version' continueOnError: true - script: rustup component add rust-src displayName: 'Install Rustup Src Component' - script: | cargo install cargo-xbuild --debug cargo install bootimage --debug displayName: 'Install cargo-xbuild and bootimage' - script: bootimage build displayName: 'Build' - script: cargo test displayName: 'Unit Tests'