mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 07:14:28 +00:00
ci: extract parts of windows-build-deps into scripts
This commit is contained in:
parent
1c0d764049
commit
6dd074a8f6
@ -1,39 +1,4 @@
|
||||
steps:
|
||||
# We use the WIX toolset to create combined installers for Windows, and these
|
||||
# binaries are downloaded from
|
||||
# https://github.com/wixtoolset/wix3 originally
|
||||
- bash: |
|
||||
set -e
|
||||
curl -O https://rust-lang-ci-mirrors.s3-us-west-1.amazonaws.com/rustc/wix311-binaries.zip
|
||||
echo "##vso[task.setvariable variable=WIX]`pwd`/wix"
|
||||
mkdir -p wix/bin
|
||||
cd wix/bin
|
||||
7z x ../../wix311-binaries.zip
|
||||
displayName: Install wix
|
||||
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))
|
||||
|
||||
# We use InnoSetup and its `iscc` program to also create combined installers.
|
||||
# Honestly at this point WIX above and `iscc` are just holdovers from
|
||||
# oh-so-long-ago and are required for creating installers on Windows. I think
|
||||
# one is MSI installers and one is EXE, but they're not used so frequently at
|
||||
# this point anyway so perhaps it's a wash!
|
||||
- script: |
|
||||
echo ##vso[task.prependpath]C:\Program Files (x86)\Inno Setup 5
|
||||
curl.exe -o is-install.exe https://rust-lang-ci-mirrors.s3-us-west-1.amazonaws.com/rustc/2017-08-22-is.exe
|
||||
is-install.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
|
||||
displayName: Install InnoSetup
|
||||
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))
|
||||
|
||||
# We've had issues with the default drive in use running out of space during a
|
||||
# build, and it looks like the `C:` drive has more space than the default `D:`
|
||||
# drive. We should probably confirm this with the azure pipelines team at some
|
||||
# point, but this seems to fix our "disk space full" problems.
|
||||
- script: |
|
||||
mkdir c:\MORE_SPACE
|
||||
mklink /J build c:\MORE_SPACE
|
||||
displayName: "Ensure build happens on C:/ instead of D:/"
|
||||
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))
|
||||
|
||||
- bash: git config --replace-all --global core.autocrlf false
|
||||
displayName: "Disable git automatic line ending conversion (on C:/)"
|
||||
|
||||
|
@ -69,6 +69,24 @@ steps:
|
||||
displayName: Switch to Xcode 9.3
|
||||
condition: and(succeeded(), not(variables.SKIP_JOB))
|
||||
|
||||
- bash: src/ci/scripts/install-wix.sh
|
||||
env:
|
||||
AGENT_OS: $(Agent.OS)
|
||||
displayName: Install wix
|
||||
condition: and(succeeded(), not(variables.SKIP_JOB))
|
||||
|
||||
- bash: src/ci/scripts/install-innosetup.sh
|
||||
env:
|
||||
AGENT_OS: $(Agent.OS)
|
||||
displayName: Install InnoSetup
|
||||
condition: and(succeeded(), not(variables.SKIP_JOB))
|
||||
|
||||
- bash: src/ci/scripts/windows-symlink-build-dir.sh
|
||||
env:
|
||||
AGENT_OS: $(Agent.OS)
|
||||
displayName: Ensure the build happens on C:\ instead of D:\
|
||||
condition: and(succeeded(), not(variables.SKIP_JOB))
|
||||
|
||||
- template: install-windows-build-deps.yml
|
||||
|
||||
# Looks like docker containers have IPv6 disabled by default, so let's turn it
|
||||
|
18
src/ci/scripts/install-innosetup.sh
Executable file
18
src/ci/scripts/install-innosetup.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
# We use InnoSetup and its `iscc` program to also create combined installers.
|
||||
# Honestly at this point WIX above and `iscc` are just holdovers from
|
||||
# oh-so-long-ago and are required for creating installers on Windows. I think
|
||||
# one is MSI installers and one is EXE, but they're not used so frequently at
|
||||
# this point anyway so perhaps it's a wash!
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
source "$(cd "$(dirname "$0")" && pwd)/../shared.sh"
|
||||
|
||||
if isWindows; then
|
||||
curl.exe -o is-install.exe https://rust-lang-ci-mirrors.s3-us-west-1.amazonaws.com/rustc/2017-08-22-is.exe
|
||||
is-install.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
|
||||
|
||||
ciCommandAddPath "C:\\Program Files (x86)\\Inno Setup 5"
|
||||
fi
|
17
src/ci/scripts/install-wix.sh
Executable file
17
src/ci/scripts/install-wix.sh
Executable file
@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
# We use the WIX toolset to create combined installers for Windows, and these
|
||||
# binaries are downloaded from https://github.com/wixtoolset/wix3 originally
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
source "$(cd "$(dirname "$0")" && pwd)/../shared.sh"
|
||||
|
||||
if isWindows; then
|
||||
curl -O https://rust-lang-ci-mirrors.s3-us-west-1.amazonaws.com/rustc/wix311-binaries.zip
|
||||
mkdir -p wix/bin
|
||||
cd wix/bin
|
||||
7z x ../../wix311-binaries.zip
|
||||
|
||||
ciCommandSetEnv WIX "$(pwd)/wix"
|
||||
fi
|
15
src/ci/scripts/windows-symlink-build-dir.sh
Executable file
15
src/ci/scripts/windows-symlink-build-dir.sh
Executable file
@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
# We've had issues with the default drive in use running out of space during a
|
||||
# build, and it looks like the `C:` drive has more space than the default `D:`
|
||||
# drive. We should probably confirm this with the azure pipelines team at some
|
||||
# point, but this seems to fix our "disk space full" problems.
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
source "$(cd "$(dirname "$0")" && pwd)/../shared.sh"
|
||||
|
||||
if isWindows; then
|
||||
cmd //c "mkdir c:\\MORE_SPACE"
|
||||
cmd //c "mklink /J build c:\\MORE_SPACE"
|
||||
fi
|
Loading…
Reference in New Issue
Block a user