| parameters: |
| cmd: test |
| rust_version: stable |
| |
| jobs: |
| - job: ${{ parameters.name }} |
| displayName: ${{ parameters.displayName }} |
| strategy: |
| matrix: |
| Linux: |
| vmImage: ubuntu-16.04 |
| |
| ${{ if parameters.cross }}: |
| MacOS: |
| vmImage: macOS-10.15 |
| Windows: |
| vmImage: vs2017-win2016 |
| pool: |
| vmImage: $(vmImage) |
| |
| variables: |
| RUST_BACKTRACE: full |
| |
| steps: |
| - template: azure-install-rust.yml |
| parameters: |
| rust_version: ${{ parameters.rust_version }} |
| |
| - ${{ if eq(parameters.cmd, 'test') }}: |
| - script: | |
| cargo install cargo-hack |
| cargo hack check --feature-powerset --skip guide,extra-docs,tcp,udp,uds,pipe,os-util |
| displayName: Check feature powerset |
| |
| - script: cargo ${{ parameters.cmd }} --all-features |
| displayName: cargo ${{ parameters.cmd }} --all-features |
| env: |
| CI: "True" |
| |
| - ${{ if eq(parameters.cmd, 'test') }}: |
| - script: cargo doc --no-deps |
| displayName: cargo doc --no-deps |
| |
| - ${{ if parameters.benches }}: |
| - script: cargo check --benches |
| displayName: Check benchmarks |