blob: 943755c5b2e0360ad57e2e58bae9aca13152d02a [file] [log] [blame]
set -euo pipefail
if ! rustup component add "${component}" 2>/dev/null; then
# If the component is unavailable on the latest nightly,
# use the latest toolchain with the component available.
# Refs:
target=$(curl -sSf "${component}")
echo "'${component}' is unavailable on the default toolchain, use the toolchain 'nightly-${target}' instead"
rustup update "nightly-${target}" --no-self-update
rustup default "nightly-${target}"
echo "Query rust and cargo versions:"
rustup -V
rustc -V
cargo -V
rustup component add "${component}"
echo "Query component versions:"
case "${component}" in
clippy | miri) cargo "${component}" -V ;;
rustfmt) "${component}" -V ;;