Files
blog_os/azure-pipelines.yml
2019-02-05 14:57:46 +01:00

77 lines
2.2 KiB
YAML

# 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'