summaryrefslogtreecommitdiff
path: root/ci/azure-install-rust.yml
diff options
context:
space:
mode:
Diffstat (limited to 'ci/azure-install-rust.yml')
-rw-r--r--ci/azure-install-rust.yml78
1 files changed, 78 insertions, 0 deletions
diff --git a/ci/azure-install-rust.yml b/ci/azure-install-rust.yml
new file mode 100644
index 0000000000..eba066923f
--- /dev/null
+++ b/ci/azure-install-rust.yml
@@ -0,0 +1,78 @@
+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
+