mirror of
https://github.com/phil-opp/blog_os.git
synced 2025-12-16 06:17:49 +00:00
Merge branch 'post-06' into post-07
This commit is contained in:
99
azure-pipelines.yml
Normal file
99
azure-pipelines.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
# 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'
|
||||
|
||||
- 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'
|
||||
Reference in New Issue
Block a user