trigger: branches: include: ['*'] jobs: - job: displayName: "Check Formatting" pool: vmImage: ubuntu-latest steps: - template: ci/install-rust.yml parameters: toolchain: stable - script: rustup component add rustfmt displayName: "Add Rustfmt" - bash: rustfmt --edition 2018 --check src/lib.rs displayName: "Check for properly formatted code" - job: displayName: "Clippy Warnings" pool: vmImage: ubuntu-latest steps: - template: ci/install-rust.yml parameters: toolchain: stable - script: rustup component add clippy displayName: "Add Clippy" - bash: cargo clippy -- -Dwarnings displayName: "Clippy" - job: displayName: "Build & Test" strategy: matrix: LinuxNightly: toolchain: nightly vmImage: ubuntu-latest LinuxBeta: toolchain: beta vmImage: ubuntu-latest LinuxStable: toolchain: stable vmImage: ubuntu-latest WindowsStable: toolchain: stable vmImage: windows-latest OSXStable: toolchain: stable vmImage: macOS-latest pool: vmImage: $(vmImage) steps: - template: ci/install-rust.yml parameters: toolchain: $(toolchain) - bash: cargo test - job: displayName: "MIRI Test" pool: vmImage: ubuntu-latest steps: - template: ci/install-rust.yml - bash: rustup override set nightly-$(curl -s https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/miri) - bash: rustup component add miri - bash: cargo miri test