Files
blog_os/azure-pipelines.yml
2019-02-05 15:24:56 +01:00

94 lines
2.5 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"
echo "Requested for: $BUILD_REQUESTEDFOR"
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'
- script: sudo apt install qemu-system-x86
condition: eq( variables['Agent.OS'], 'Linux' )
displayName: 'Install QEMU (Linux)'
- script: |
export HOMEBREW_NO_AUTO_UPDATE=1
export HOMEBREW_NO_BOTTLE_SOURCE_FALLBACK=1
export HOMEBREW_NO_INSTALL_CLEANUP=1
brew install qemu
condition: eq( variables['Agent.OS'], 'Darwin' )
displayName: 'Install QEMU (macOS)'
- script: |
choco install qemu --limit-output --no-progress
echo ##vso[task.setvariable variable=PATH;]%PATH%;C:\Program Files\qemu
set PATH=%PATH%;C:\Program Files\qemu
qemu-system-x86_64 --version
condition: eq( variables['Agent.OS'], 'Windows_NT' )
displayName: 'Install QEMU (Windows)'
- script: bootimage test
displayName: 'Integration Tests'