# https://github.com/crate-ci/azure-pipelines/blob/master/azure/install-rust.yml # defaults for any parameters that aren't specified parameters: rust: stable components: [] targets: [] steps: # Linux and macOS. - script: | set -e curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain $RUSTUP_TOOLCHAIN echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin" env: RUSTUP_TOOLCHAIN: ${{parameters.rust}} displayName: "Install rust (*nix)" condition: not(eq(variables['Agent.OS'], 'Windows_NT')) # Windows. - script: | curl -sSf -o rustup-init.exe https://win.rustup.rs rustup-init.exe -y --default-toolchain %RUSTUP_TOOLCHAIN% set PATH=%PATH%;%USERPROFILE%\.cargo\bin echo "##vso[task.setvariable variable=PATH;]%PATH%;%USERPROFILE%\.cargo\bin" env: RUSTUP_TOOLCHAIN: ${{parameters.rust}} displayName: "Install rust (windows)" condition: eq(variables['Agent.OS'], 'Windows_NT') # Set correct toolchain - bash: | rustup default $RUSTUP_TOOLCHAIN rustup update $RUSTUP_TOOLCHAIN env: RUSTUP_TOOLCHAIN: ${{parameters.rust}} displayName: "Set correct Rust version" # Install additional targets: - ${{ each target in parameters.targets }}: - script: rustup target add ${{ target }} displayName: "Adding target '${{ target }}'" # Install additional components: - ${{ each component in parameters.components }}: - script: rustup component add ${{ component }} displayName: "Adding component '${{ component }}'" # See what we got - script: | rustc --version cargo --version rustup --version displayName: Check installed rust version