mirror of
https://github.com/phil-opp/blog_os.git
synced 2025-12-16 14:27:49 +00:00
94 lines
2.5 KiB
YAML
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'
|