strategy:
matrix:
windows-stable:
imageName: 'vs2017-win2016'
rustup_toolchain: stable
LLVM_VERSION: 7.0.0
mac-stable:
imageName: 'macos-10.13'
rustup_toolchain: stable
LLVM_VERSION: 7.0.0
linux-stable:
imageName: 'ubuntu-16.04'
rustup_toolchain: stable
LLVM_VERSION: 7.0.0
linux-beta:
imageName: 'ubuntu-16.04'
rustup_toolchain: beta
LLVM_VERSION: 7.0.0
linux-nightly:
imageName: 'ubuntu-16.04'
rustup_toolchain: nightly
LLVM_VERSION: 7.0.0
trigger:
- master
pool:
vmImage: $(imageName)
steps:
- checkout: self
submodules: true
- script: |
powershell -Command "$ProgressPreference = 'SilentlyContinue'; iwr -outf %TEMP%\LLVM-%LLVM_VERSION%-win64.exe http://releases.llvm.org/%LLVM_VERSION%/LLVM-%LLVM_VERSION%-win64.exe"
set CLANG_DIR=%CD%\citools\clang
%TEMP%\LLVM-%LLVM_VERSION%-win64.exe /S /NCRC /D=%CLANG_DIR%
echo ##vso[task.prependpath]%CLANG_DIR%\bin
echo ##vso[task.setvariable variable=CLANG_DIR]%CD%\citools\clang
echo ##vso[task.setvariable variable=LIBCLANG_PATH]%CLANG_DIR%\bin
displayName: Install Clang (Windows)
condition: eq( variables['Agent.OS'], 'Windows_NT' )
- script: |
curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain $RUSTUP_TOOLCHAIN
echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin"
displayName: Install Rust
condition: ne( variables['Agent.OS'], 'Windows_NT' )
- 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%;
echo ##vso[task.prependpath]%USERPROFILE%\.cargo\bin
displayName: Install Rust (Windows)
condition: eq( variables['Agent.OS'], 'Windows_NT' )
- script: |
%CLANG_DIR%\bin\clang --version
rustc --version
cargo --version
clang --version
displayName: Check Tools (Windows)
condition: eq( variables['Agent.OS'], 'Windows_NT' )
- script: cargo build --all
displayName: Cargo Build
- script: cargo test --all
displayName: Cargo Test
- script: cargo test -- --ignored
displayName: Cargo Test (Expensive)