name: $(Build.SourceBranch)-$(date:yyyyMMdd)$(rev:.r) # The Different jobs (lint, test, build to run) jobs: - job: lint pool: vmImage: 'ubuntu-16.04' steps: - checkout: self submodules: true - template: .azure/install-rust.yml - script: | rustup component add rustfmt rustup component add clippy || cargo install --git https://github.com/rust-lang/rust-clippy/ --force clippy displayName: Lint dependencies - script: cargo fmt --all -- --check displayName: Lint variables: rust_toolchain: stable - job: Test strategy: matrix: linux: imageName: 'ubuntu-16.04' rust_toolchain: nightly-2019-06-10 mac: imageName: 'macos-10.14' rust_toolchain: nightly-2019-06-10 windows: imageName: 'vs2017-win2016' rust_toolchain: stable pool: vmImage: $(imageName) steps: - checkout: self submodules: true - template: .azure/install-rust.yml - template: .azure/install-cmake.yml - template: .azure/install-llvm.yml - task: CacheBeta@0 inputs: key: | cargo $(Agent.OS) $(Build.SourcesDirectory)/Cargo.lock path: $(Build.SourcesDirectory)/target displayName: Cache Cargo Target - bash: make check displayName: Check with Flags - bash: make test displayName: Tests (*nix) condition: and(succeeded(), not(eq(variables['Agent.OS'], 'Windows_NT'))) - bash: make spectests-cranelift displayName: Tests (Windows) condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT')) # - bash: make integration-tests # displayName: Integration Tests # - job: Build # strategy: # matrix: # linux: # imageName: 'ubuntu-16.04' # mac: # imageName: 'macos-10.14' # MACOSX_DEPLOYMENT_TARGET: 10.10 # windows: # imageName: 'vs2017-win2016' # RUSTFLAGS: -Ctarget-feature=+crt-static # variables: # rust_toolchain: nightly-2019-06-10 # pool: # vmImage: $(imageName) # steps: # - checkout: self # submodules: true # - template: .azure/install-rust.yml # - bash: make test # displayName: Tests trigger: branches: include: - '*'