libc-rs/ci/azure-install-rust.yml

79 lines
2.5 KiB
YAML

steps:
- bash: |
set -ex
toolchain=$TOOLCHAIN
if [ "$toolchain" = "" ]; then
toolchain=nightly
fi
if command -v rustup; then
rustup update $toolchain
rustup default $toolchain
else
curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain $toolchain
echo "##vso[task.prependpath]$HOME/.cargo/bin"
fi
displayName: Install rust (unix)
condition: ne( variables['Agent.OS'], 'Windows_NT' )
- script: |
@echo on
if not defined TOOLCHAIN set TOOLCHAIN=nightly
rustup update %TOOLCHAIN%-%TARGET%
rustup default %TOOLCHAIN%-%TARGET%
displayName: Install rust (windows)
condition: eq( variables['Agent.OS'], 'Windows_NT' )
- script: |
set -ex
if [ -n "${TARGET}" ]; then
rustup target add $TARGET
fi
condition: ne( variables['Agent.OS'], 'Windows_NT' )
displayName: Install target (unix)
- script: |
@echo on
if defined TARGET rustup target add %TARGET%
condition: eq( variables['Agent.OS'], 'Windows_NT' )
displayName: Install target (windows)
- script: |
@echo on
if "%ARCH%" == "i686" choco install mingw --x86 --force
condition: eq( variables['Agent.OS'], 'Windows_NT' )
displayName: Install MinGW32 (windows)
- bash: |
set -ex
gcc -print-search-dirs
find "C:\ProgramData\Chocolatey" -name "crt2*"
find "C:\ProgramData\Chocolatey" -name "dllcrt2*"
find "C:\ProgramData\Chocolatey" -name "libmsvcrt*"
condition: eq( variables['Agent.OS'], 'Windows_NT' )
displayName: Find GCC libraries (windows)
- bash: |
set -ex
if [[ -n ${ARCH_BITS} ]]; then
for i in crt2.o dllcrt2.o libmingwex.a libmsvcrt.a ; do
cp -f "/C/ProgramData/Chocolatey/lib/mingw/tools/install/mingw${ARCH_BITS}/${ARCH}-w64-mingw32/lib/$i" "`rustc --print sysroot`/lib/rustlib/${TARGET}/lib"
done
fi
condition: eq( variables['Agent.OS'], 'Windows_NT' )
displayName: Fix MinGW (windows)
- bash: |
set -ex
rustc -Vv
cargo -V
rustup -Vv
rustup show
which rustc
which cargo
which rustup
displayName: Query rust and cargo versions
- script: |
@echo on
where gcc
condition: eq( variables['Agent.OS'], 'Windows_NT' )
displayName: Query gcc path
- bash: |
set -ex
cargo generate-lockfile
cargo generate-lockfile --manifest-path libc-test/Cargo.toml
displayName: Generate lockfiles