54 lines
1.7 KiB
YAML
54 lines
1.7 KiB
YAML
# 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
|