tower/ci/azure-install-rust.yml

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