strategy: matrix: windows-stable: imageName: 'vs2017-win2016' mac-stable: imageName: 'macos-10.14' linux-stable: imageName: 'ubuntu-18.04' pool: vmImage: '$(imageName)' steps: - script: | curl https://sh.rustup.rs -sSf | sh -s -- -y echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin" displayName: Unix install rust condition: ne( variables['Agent.OS'], 'Windows_NT' ) - script: | curl -sSf -o rustup-init.exe https://win.rustup.rs rustup-init.exe -y --profile minimal --default-host x86_64-pc-windows-msvc --default-toolchain stable echo "##vso[task.setvariable variable=PATH;]%PATH%;%USERPROFILE%\.cargo\bin" displayName: Windows install rust condition: eq( variables['Agent.OS'], 'Windows_NT' ) - script: cargo fmt -- --check displayName: Cargo fmt check - script: cargo build --all displayName: Cargo build - script: cargo test --all displayName: Cargo test - script: cargo test -- --ignored displayName: Cargo test ignored (large) - script: | sudo add-apt-repository -y ppa:kelleyk/emacs sudo apt-get install -y emacs26-nox displayName: Install Emacs condition: eq( variables['Agent.OS'], 'Linux' ) - script: ./test-elisp.sh displayName: Test elisp packages condition: eq( variables['Agent.OS'], 'Linux' )