74 lines
1.9 KiB
YAML
74 lines
1.9 KiB
YAML
jobs:
|
|
# Run the Rust linter
|
|
- job: "Clippy"
|
|
pool:
|
|
vmImage: "ubuntu-16.04"
|
|
container: "rust:latest"
|
|
steps:
|
|
- script: rustup component add clippy
|
|
displayName: Install Clippy
|
|
- script: cargo clippy --all
|
|
displayName: Run clippy
|
|
|
|
# Run the Rust formatter
|
|
- job: "Rustfmt"
|
|
pool:
|
|
vmImage: "ubuntu-16.04"
|
|
container: "rust:latest"
|
|
condition: eq(variables['Build.Reason'], 'PullRequest')
|
|
steps:
|
|
- script: rustup component add rustfmt
|
|
displayName: Install Rustfmt
|
|
- script: cargo fmt --all -- --check
|
|
displayName: Run rustfmt
|
|
|
|
# Run the integration tests in a Docker container
|
|
- job: "Docker"
|
|
pool:
|
|
vmImage: "ubuntu-16.04"
|
|
steps:
|
|
- script: ./integration_test
|
|
displayName: Dockerized tests
|
|
|
|
# Run the integration tests on virtual machines
|
|
- job: "Test"
|
|
strategy:
|
|
matrix:
|
|
windows-stable:
|
|
imageName: "vs2017-win2016"
|
|
RUSTUP_TOOLCHAIN: stable
|
|
mac-stable:
|
|
imageName: "macos-10.13"
|
|
RUSTUP_TOOLCHAIN: stable
|
|
linux-stable:
|
|
imageName: "ubuntu-16.04"
|
|
RUSTUP_TOOLCHAIN: stable
|
|
linux-beta:
|
|
imageName: "ubuntu-16.04"
|
|
RUSTUP_TOOLCHAIN: beta
|
|
linux-nightly:
|
|
imageName: "ubuntu-16.04"
|
|
RUSTUP_TOOLCHAIN: nightly
|
|
pool:
|
|
vmImage: "ubuntu-16.04"
|
|
steps:
|
|
# Install Node.js
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: "12.0.0"
|
|
# Install Go
|
|
- task: GoTool@0
|
|
inputs:
|
|
versionSpec: "1.10"
|
|
# Install Python
|
|
- task: UsePythonVersion@0
|
|
inputs:
|
|
versionSpec: "3.7.2"
|
|
# Install Rust
|
|
- template: ".build/install-rust.yml"
|
|
|
|
- script: cargo build
|
|
displayName: Cargo build
|
|
- script: cargo test -- --ignored
|
|
displayName: Cargo test
|