diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 00000000..11196962 --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,73 @@ +# 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'