26 lines
819 B
Bash
Executable File
26 lines
819 B
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
cd "$(readlink -f "$(dirname "$0")/../..")"
|
|
|
|
set -x
|
|
|
|
RUST_CHANNEL="$1"
|
|
|
|
# Use the preset for CI environment.
|
|
cp .woodpecker/cargo-config.toml ${CARGO_HOME}/config.toml
|
|
|
|
# The repository should not have a directory which would be used as the cached `$RUSTUP_HOME`.
|
|
CACHED_RUSTUP_HOME=${CI_WORKSPACE}/.tmp-rustup-home && test ! -e ${CACHED_RUSTUP_HOME}
|
|
|
|
# Copy the pre-installed toolchains of the Docker container into the new `$RUSTUP_HOME`.
|
|
cp -a /usr/local/rustup ${CACHED_RUSTUP_HOME} && test -d ${CACHED_RUSTUP_HOME}
|
|
|
|
# Use the new `$RUSTUP_HOME` variable.
|
|
export RUSTUP_HOME=${CACHED_RUSTUP_HOME}
|
|
|
|
# Install the toolchain of the specified version (if not yet available locally).
|
|
rustup update --no-self-update ${RUST_CHANNEL} && rustup default ${RUST_CHANNEL}
|
|
|
|
rustc --version && cargo --version
|