aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorBilly O'Neal <bion@microsoft.com>2020-06-11 11:13:09 -0700
committerGitHub <noreply@github.com>2020-06-11 11:13:09 -0700
commit55d6bd1b7d1fab3515b3c7f18d2607906919d356 (patch)
tree3857acc726c12e3efbf3e7fd74b0999a29b3894b /scripts
parentae45816c34d604967209bc3218f33ab328927702 (diff)
downloadvcpkg-55d6bd1b7d1fab3515b3c7f18d2607906919d356.tar.gz
vcpkg-55d6bd1b7d1fab3515b3c7f18d2607906919d356.zip
[vcpkg] [cudnn] [msmpi] [openmpi] Update VMSS (#11365)
Co-authored-by: @JackBoosY Co-authored-by: Stefano Sinigardi <stesinigardi@hotmail.com> Co-authored-by: Voskrese <10104740+Voskrese@users.noreply.github.com>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/azure-pipelines/azure-pipelines.yml134
-rw-r--r--scripts/azure-pipelines/clean-tombstones.yml32
-rwxr-xr-xscripts/azure-pipelines/linux/create-vmss.ps13
-rwxr-xr-xscripts/azure-pipelines/linux/provision-image.sh65
-rw-r--r--scripts/azure-pipelines/windows/azure-pipelines.yml6
-rw-r--r--scripts/azure-pipelines/windows/create-vmss.ps117
-rw-r--r--scripts/azure-pipelines/windows/provision-image.ps1176
-rw-r--r--scripts/boost/generate-ports.ps12
-rw-r--r--scripts/ci.baseline.txt15
9 files changed, 240 insertions, 210 deletions
diff --git a/scripts/azure-pipelines/azure-pipelines.yml b/scripts/azure-pipelines/azure-pipelines.yml
index f97a3a01e..7efc2df73 100644
--- a/scripts/azure-pipelines/azure-pipelines.yml
+++ b/scripts/azure-pipelines/azure-pipelines.yml
@@ -2,52 +2,88 @@
# SPDX-License-Identifier: MIT
#
variables:
- windows-pool: 'PrWin-2020-04-28'
- linux-pool: 'PrLin-2020-05-07'
-
-jobs:
- - template: windows/run-tests.yml
- parameters:
- poolName: $(windows-pool)
-
- - template: windows/azure-pipelines.yml
- parameters:
- triplet: x86-windows
- jobName: x86_windows
- poolName: $(windows-pool)
-
- - template: windows/azure-pipelines.yml
- parameters:
- triplet: x64-windows
- jobName: x64_windows
- poolName: $(windows-pool)
-
- - template: windows/azure-pipelines.yml
- parameters:
- triplet: x64-windows-static
- jobName: x64_windows_static
- poolName: $(windows-pool)
-
- - template: windows/azure-pipelines.yml
- parameters:
- triplet: x64-uwp
- jobName: x64_uwp
- poolName: $(windows-pool)
-
- - template: windows/azure-pipelines.yml
- parameters:
- triplet: arm64-windows
- jobName: arm64_windows
- poolName: $(windows-pool)
-
- - template: windows/azure-pipelines.yml
- parameters:
- triplet: arm-uwp
- jobName: arm_uwp
- poolName: $(windows-pool)
-
- - template: osx/azure-pipelines.yml
-
- - template: linux/azure-pipelines.yml
- parameters:
- poolName: $(linux-pool)
+ windows-pool: 'PrWin-2020-06-04'
+ linux-pool: 'PrLin-2020-06-08'
+ delete-tombstones-first: false
+
+stages:
+ - stage: delete_tombstones
+ displayName: 'Delete Tombstones'
+ jobs:
+ - job: windows
+ displayName: 'Clean Windows Tombstones'
+ pool: $(windows-pool)
+ condition: eq(variables['delete-tombstones-first'], 'true')
+ steps:
+ - task: PowerShell@2
+ displayName: 'Initialize Environment'
+ inputs:
+ filePath: 'scripts/azure-pipelines/windows/initialize-environment.ps1'
+ - script: rmdir /s /q W:\fail
+ displayName: 'Delete W:\fail'
+ - job: linux
+ displayName: 'Clean Linux Tombstones'
+ pool: $(linux-pool)
+ condition: eq(variables['delete-tombstones-first'], 'true')
+ steps:
+ - bash: rm -rf /archives/fail
+ displayName: 'Delete /archives/fail'
+ - job: osx
+ displayName: 'Clean MacOS Tombstones'
+ condition: eq(variables['delete-tombstones-first'], 'true')
+ pool:
+ name: vcpkgAgentPool
+ demands: Agent.OS -equals Darwin
+ steps:
+ - bash: rm -rf /Users/vagrant/Data/archives/fail
+ displayName: 'Delete /Users/vagrant/Data/archives/fail'
+
+ - stage: run_pr_test
+ displayName: 'Run PR Test'
+ dependsOn: delete_tombstones
+ jobs:
+ - template: windows/run-tests.yml
+ parameters:
+ poolName: $(windows-pool)
+
+ - template: windows/azure-pipelines.yml
+ parameters:
+ triplet: x86-windows
+ jobName: x86_windows
+ poolName: $(windows-pool)
+
+ - template: windows/azure-pipelines.yml
+ parameters:
+ triplet: x64-windows
+ jobName: x64_windows
+ poolName: $(windows-pool)
+
+ - template: windows/azure-pipelines.yml
+ parameters:
+ triplet: x64-windows-static
+ jobName: x64_windows_static
+ poolName: $(windows-pool)
+
+ - template: windows/azure-pipelines.yml
+ parameters:
+ triplet: x64-uwp
+ jobName: x64_uwp
+ poolName: $(windows-pool)
+
+ - template: windows/azure-pipelines.yml
+ parameters:
+ triplet: arm64-windows
+ jobName: arm64_windows
+ poolName: $(windows-pool)
+
+ - template: windows/azure-pipelines.yml
+ parameters:
+ triplet: arm-uwp
+ jobName: arm_uwp
+ poolName: $(windows-pool)
+
+ - template: osx/azure-pipelines.yml
+
+ - template: linux/azure-pipelines.yml
+ parameters:
+ poolName: $(linux-pool)
diff --git a/scripts/azure-pipelines/clean-tombstones.yml b/scripts/azure-pipelines/clean-tombstones.yml
deleted file mode 100644
index dc601bcfc..000000000
--- a/scripts/azure-pipelines/clean-tombstones.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) Microsoft Corporation.
-# SPDX-License-Identifier: MIT
-#
-variables:
- windows-pool: 'PrWin-2020-04-28'
- linux-pool: 'PrLin-2020-05-07'
-
-jobs:
- - job: windows
- displayName: 'Clean Windows Tombstones'
- pool: $(windows-pool)
- steps:
- - task: PowerShell@2
- displayName: 'Initialize Environment'
- inputs:
- filePath: 'scripts/azure-pipelines/windows/initialize-environment.ps1'
- - script: rmdir /s /q W:\fail
- displayName: 'Delete W:\fail'
- - job: linux
- displayName: 'Clean Linux Tombstones'
- pool: $(linux-pool)
- steps:
- - bash: rm -rf /archives/fail
- displayName: 'Delete /archives/fail'
- - job: osx
- displayName: 'Clean MacOS Tombstones'
- pool:
- name: vcpkgAgentPool
- demands: Agent.OS -equals Darwin
- steps:
- - bash: rm -rf /Users/vagrant/Data/archives/fail
- displayName: 'Delete /Users/vagrant/Data/archives/fail'
diff --git a/scripts/azure-pipelines/linux/create-vmss.ps1 b/scripts/azure-pipelines/linux/create-vmss.ps1
index de89c2207..e9fc79e7b 100755
--- a/scripts/azure-pipelines/linux/create-vmss.ps1
+++ b/scripts/azure-pipelines/linux/create-vmss.ps1
@@ -158,7 +158,8 @@ Set-AzStorageShareQuota -ShareName 'archives' -Context $StorageContext -Quota 10
####################################################################################################
Write-Progress `
- -Activity 'Creating prototype VM' `
+ -Activity $ProgressActivity `
+ -Status 'Creating prototype VM' `
-PercentComplete (100 / $TotalProgress * $CurrentProgress++)
$NicName = $ResourceGroupName + 'NIC'
diff --git a/scripts/azure-pipelines/linux/provision-image.sh b/scripts/azure-pipelines/linux/provision-image.sh
index dccf28691..0fa7edbf7 100755
--- a/scripts/azure-pipelines/linux/provision-image.sh
+++ b/scripts/azure-pipelines/linux/provision-image.sh
@@ -5,15 +5,41 @@
sudo apt -y update
sudo apt -y dist-upgrade
-# Install common build dependencies and partitioning tools
-sudo apt -y install at curl unzip tar libxt-dev gperf libxaw7-dev cifs-utils build-essential g++ gfortran zip libx11-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxinerama-dev libxcursor-dev yasm libnuma1 libnuma-dev python-six python3-six python-yaml flex libbison-dev autoconf libudev-dev libncurses5-dev libtool libxrandr-dev xutils-dev dh-autoreconf libgles2-mesa-dev ruby-full pkg-config
-# Required by qt5-x11extras
-sudo apt -y install libxkbcommon-dev libxkbcommon-x11-dev
-# Required by libhdfs3
-sudo apt -y install libkrb5-dev
-# Required by mesa
-sudo apt -y install python3-setuptools
+# Install common build dependencies
+APT_PACKAGES="at curl unzip tar libxt-dev gperf libxaw7-dev cifs-utils \
+ build-essential g++ gfortran zip libx11-dev libxkbcommon-x11-dev libxi-dev \
+ libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxinerama-dev \
+ libxcursor-dev yasm libnuma1 libnuma-dev python-six python3-six python-yaml \
+ flex libbison-dev autoconf libudev-dev libncurses5-dev libtool libxrandr-dev \
+ xutils-dev dh-autoreconf libgles2-mesa-dev ruby-full pkg-config"
+# Additionally required by qt5-base
+APT_PACKAGES="$APT_PACKAGES libxext-dev libxfixes-dev libxrender-dev \
+ libxcb1-dev libx11-xcb-dev libxcb-glx0-dev"
+
+# Additionally required by qt5-base for qt5-x11extras
+APT_PACKAGES="$APT_PACKAGES libxkbcommon-dev libxcb-keysyms1-dev \
+ libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync0-dev \
+ libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev"
+
+# Additionally required by libhdfs3
+APT_PACKAGES="$APT_PACKAGES libkrb5-dev"
+
+# Additionally required by mesa
+APT_PACKAGES="$APT_PACKAGES python3-setuptools"
+
+# Additionally required/installed by Azure DevOps Scale Set Agents
+APT_PACKAGES="$APT_PACKAGES liblttng-ust0 libkrb5-3 zlib1g libicu60"
+
+sudo apt -y install $APT_PACKAGES
+
+# Delete /etc/debian_version to prevent Azure Pipelines Scale Set Agents from
+# removing some of the above
+sudo apt-mark hold libcurl4
+sudo apt-mark hold liblttng-ust0
+sudo apt-mark hold libkrb5-3
+sudo apt-mark hold zlib1g
+sudo apt-mark hold libicu60
# Install newer version of nasm than the apt package, required by intel-ipsec
mkdir /tmp/nasm
@@ -37,7 +63,6 @@ sudo dpkg -i nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
sudo apt -y update
sudo apt install -y --no-install-recommends cuda-compiler-10-2 cuda-libraries-dev-10-2 cuda-driver-dev-10-2 cuda-cudart-dev-10-2 libcublas10 cuda-curand-dev-10-2
sudo apt install -y --no-install-recommends libcudnn7-dev
-sudo ln -s /usr/local/cuda-10.1/lib64/stubs/libcuda.so /usr/local/cuda-10.1/lib64/stubs/libcuda.so.1
# Install PowerShell
wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
@@ -46,6 +71,11 @@ sudo apt update
sudo add-apt-repository universe
sudo apt install -y powershell
+if [ -z "$StorageAccountName" ]; then
+echo "No storage account supplied, skipping."
+else
+echo "Mapping storage account"
+
# Write SMB credentials
sudo mkdir /etc/smbcredentials
smbCredentialFile=/etc/smbcredentials/$StorageAccountName.cred
@@ -56,19 +86,4 @@ sudo chmod 600 $smbCredentialFile
# Mount the archives SMB share to /archives
sudo mkdir /archives -m=777
echo "//$StorageAccountName.file.core.windows.net/archives /archives cifs nofail,vers=3.0,credentials=$smbCredentialFile,serverino,dir_mode=0777,file_mode=0777 0 0" | sudo tee -a /etc/fstab
-
-# Create 'home' directory for haskell stack bits that want this
-sudo mkdir -p /home/root -m=777
-
-# Delete /etc/debian_version to prevent Azure Pipelines Scale Set Agents from removing some of the above
-sudo rm /etc/debian_version
-
-# Install dependencies that the Azure Pipelines agent will want later to make launching VMs faster
-# https://docs.microsoft.com/en-us/dotnet/core/install/dependencies?tabs=netcore31&pivots=os-linux
-# (we assume libssl1.0.0 or equivalent is already installed to not accidentially change SSL certs)
-apt install -y liblttng-ust0 libkrb5-3 zlib1g libicu60
-
-# Create work trees for the Azure Pipelines agent so that it puts its work tree into temporary storage.
-sudo chmod 777 /mnt
-sudo mkdir /agent -m=777
-sudo ln -s /mnt /agent/_work
+fi
diff --git a/scripts/azure-pipelines/windows/azure-pipelines.yml b/scripts/azure-pipelines/windows/azure-pipelines.yml
index 24089b674..2c0afa920 100644
--- a/scripts/azure-pipelines/windows/azure-pipelines.yml
+++ b/scripts/azure-pipelines/windows/azure-pipelines.yml
@@ -27,9 +27,9 @@ jobs:
$commonArgs = @(
'--binarycaching',
'--x-binarysource=clear;files,W:\,upload',
- '--x-buildtrees-root=E:\buildtrees',
- '--x-install-root=E:\install',
- '--x-packages-root=E:\packages'
+ '--x-buildtrees-root=D:\buildtrees',
+ '--x-install-root=D:\install',
+ '--x-packages-root=D:\packages'
)
.\vcpkg.exe x-ci-clean @commonArgs
diff --git a/scripts/azure-pipelines/windows/create-vmss.ps1 b/scripts/azure-pipelines/windows/create-vmss.ps1
index 1417c298e..cf742d2ff 100644
--- a/scripts/azure-pipelines/windows/create-vmss.ps1
+++ b/scripts/azure-pipelines/windows/create-vmss.ps1
@@ -18,11 +18,10 @@ or are running from Azure Cloud Shell.
$Location = 'westus2'
$Prefix = 'PrWin-' + (Get-Date -Format 'yyyy-MM-dd')
-$VMSize = 'Standard_F16s_v2'
+$VMSize = 'Standard_D16a_v4'
$ProtoVMName = 'PROTOTYPE'
$LiveVMPrefix = 'BUILD'
$WindowsServerSku = '2019-Datacenter'
-$InstalledDiskSizeInGB = 1024
$ErrorActionPreference = 'Stop'
$ProgressActivity = 'Creating Scale Set'
@@ -160,7 +159,8 @@ Set-AzStorageShareQuota -ShareName 'archives' -Context $StorageContext -Quota 20
####################################################################################################
Write-Progress `
- -Activity 'Creating prototype VM' `
+ -Activity $ProgressActivity `
+ -Status 'Creating prototype VM' `
-PercentComplete (100 / $TotalProgress * $CurrentProgress++)
$NicName = $ResourceGroupName + 'NIC'
@@ -186,16 +186,6 @@ $VM = Set-AzVMSourceImage `
-Skus $WindowsServerSku `
-Version latest
-$InstallDiskName = $ProtoVMName + "InstallDisk"
-$VM = Add-AzVMDataDisk `
- -Vm $VM `
- -Name $InstallDiskName `
- -Lun 0 `
- -Caching ReadWrite `
- -CreateOption Empty `
- -DiskSizeInGB $InstalledDiskSizeInGB `
- -StorageAccountType 'StandardSSD_LRS'
-
$VM = Set-AzVMBootDiagnostic -VM $VM -Disable
New-AzVm `
-ResourceGroupName $ResourceGroupName `
@@ -274,7 +264,6 @@ Write-Progress `
Remove-AzVM -Id $VM.ID -Force
Remove-AzDisk -ResourceGroupName $ResourceGroupName -DiskName $PrototypeOSDiskName -Force
-Remove-AzDisk -ResourceGroupName $ResourceGroupName -DiskName $InstallDiskName -Force
####################################################################################################
Write-Progress `
diff --git a/scripts/azure-pipelines/windows/provision-image.ps1 b/scripts/azure-pipelines/windows/provision-image.ps1
index 9a33461ee..e992f94a4 100644
--- a/scripts/azure-pipelines/windows/provision-image.ps1
+++ b/scripts/azure-pipelines/windows/provision-image.ps1
@@ -90,8 +90,7 @@ if (-not [string]::IsNullOrEmpty($AdminUserPassword)) {
}
Write-Host "Executing $PsExecPath " + @PsExecArgs
-
- $proc = Start-Process -FilePath $PsExecPath -ArgumentList $PsExecArgs -Wait -PassThru
+ & $PsExecPath @PsExecArgs > C:\ProvisionLog.txt
Write-Host 'Cleaning up...'
Remove-Item $PsExecPath
exit $proc.ExitCode
@@ -109,10 +108,16 @@ $Workloads = @(
'Microsoft.VisualStudio.Component.VC.v141.x86.x64.Spectre',
'Microsoft.VisualStudio.Component.Windows10SDK.18362',
'Microsoft.Net.Component.4.8.SDK',
- 'Microsoft.Component.NetFX.Native'
+ 'Microsoft.Component.NetFX.Native',
+ 'Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset',
+ 'Microsoft.VisualStudio.Component.VC.Llvm.Clang'
)
-$MpiUrl = 'https://download.microsoft.com/download/A/E/0/AE002626-9D9D-448D-8197-1EA510E297CE/msmpisetup.exe'
+$WindowsSDKUrl = 'https://download.microsoft.com/download/1/c/3/1c3d5161-d9e9-4e4b-9b43-b70fe8be268c/windowssdk/winsdksetup.exe'
+
+$WindowsWDKUrl = 'https://download.microsoft.com/download/1/a/7/1a730121-7aa7-46f7-8978-7db729aa413d/wdk/wdksetup.exe'
+
+$MpiUrl = 'https://download.microsoft.com/download/a/5/2/a5207ca5-1203-491a-8fb8-906fd68ae623/msmpisetup.exe'
$CudaUrl = 'https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_426.00_win10.exe'
$CudaFeatures = 'nvcc_10.1 cuobjdump_10.1 nvprune_10.1 cupti_10.1 gpu_library_advisor_10.1 memcheck_10.1 ' + `
@@ -280,6 +285,76 @@ Function InstallZip {
<#
.SYNOPSIS
+Installs Windows SDK version 2004
+
+.DESCRIPTION
+Downloads the Windows SDK installer located at $Url, and installs it with the
+correct flags.
+
+.PARAMETER Url
+The URL of the installer.
+#>
+Function InstallWindowsSDK {
+ Param(
+ [String]$Url
+ )
+
+ try {
+ Write-Host 'Downloading Windows SDK...'
+ [string]$installerPath = Get-TempFilePath -Extension 'exe'
+ curl.exe -L -o $installerPath -s -S $Url
+ Write-Host 'Installing Windows SDK...'
+ $proc = Start-Process -FilePath $installerPath -ArgumentList @('/features', '+', '/q') -Wait -PassThru
+ $exitCode = $proc.ExitCode
+ if ($exitCode -eq 0) {
+ Write-Host 'Installation successful!'
+ }
+ else {
+ Write-Error "Installation failed! Exited with $exitCode."
+ }
+ }
+ catch {
+ Write-Error "Failed to install Windows SDK! $($_.Exception.Message)"
+ }
+}
+
+<#
+.SYNOPSIS
+Installs Windows WDK version 2004
+
+.DESCRIPTION
+Downloads the Windows WDK installer located at $Url, and installs it with the
+correct flags.
+
+.PARAMETER Url
+The URL of the installer.
+#>
+Function InstallWindowsWDK {
+ Param(
+ [String]$Url
+ )
+
+ try {
+ Write-Host 'Downloading Windows WDK...'
+ [string]$installerPath = Get-TempFilePath -Extension 'exe'
+ curl.exe -L -o $installerPath -s -S $Url
+ Write-Host 'Installing Windows WDK...'
+ $proc = Start-Process -FilePath $installerPath -ArgumentList @('/features', '+', '/q') -Wait -PassThru
+ $exitCode = $proc.ExitCode
+ if ($exitCode -eq 0) {
+ Write-Host 'Installation successful!'
+ }
+ else {
+ Write-Error "Installation failed! Exited with $exitCode."
+ }
+ }
+ catch {
+ Write-Error "Failed to install Windows WDK! $($_.Exception.Message)"
+ }
+}
+
+<#
+.SYNOPSIS
Installs MPI
.DESCRIPTION
@@ -352,94 +427,43 @@ Function InstallCuda {
}
}
-<#
-.SYNOPSIS
-Partitions a new physical disk.
-
-.DESCRIPTION
-Takes the disk $DiskNumber, turns it on, then partitions it for use with label
-$Label and drive letter $Letter.
-
-.PARAMETER DiskNumber
-The number of the disk to set up.
-
-.PARAMETER Letter
-The drive letter at which to mount the disk.
-
-.PARAMETER Label
-The label to give the disk.
-#>
-Function New-PhysicalDisk {
- Param(
- [int]$DiskNumber,
- [string]$Letter,
- [string]$Label
- )
-
- if ($Letter.Length -ne 1) {
- throw "Bad drive letter $Letter, expected only one letter. (Did you accidentially add a : ?)"
- }
-
- try {
- Write-Host "Attempting to online physical disk $DiskNumber"
- [string]$diskpartScriptPath = Get-TempFilePath -Extension 'txt'
- [string]$diskpartScriptContent =
- "SELECT DISK $DiskNumber`r`n" +
- "ONLINE DISK`r`n"
-
- Write-Host "Writing diskpart script to $diskpartScriptPath with content:"
- Write-Host $diskpartScriptContent
- Set-Content -Path $diskpartScriptPath -Value $diskpartScriptContent
- Write-Host 'Invoking DISKPART...'
- & diskpart.exe /s $diskpartScriptPath
-
- Write-Host "Provisioning physical disk $DiskNumber as drive $Letter"
- [string]$diskpartScriptContent =
- "SELECT DISK $DiskNumber`r`n" +
- "ATTRIBUTES DISK CLEAR READONLY`r`n" +
- "CREATE PARTITION PRIMARY`r`n" +
- "FORMAT FS=NTFS LABEL=`"$Label`" QUICK`r`n" +
- "ASSIGN LETTER=$Letter`r`n"
- Write-Host "Writing diskpart script to $diskpartScriptPath with content:"
- Write-Host $diskpartScriptContent
- Set-Content -Path $diskpartScriptPath -Value $diskpartScriptContent
- Write-Host 'Invoking DISKPART...'
- & diskpart.exe /s $diskpartScriptPath
- }
- catch {
- Write-Error "Failed to provision physical disk $DiskNumber as drive $Letter! $($_.Exception.Message)"
- }
-}
-
Write-Host "AdminUser password not supplied; assuming already running as AdminUser"
-New-PhysicalDisk -DiskNumber 2 -Letter 'E' -Label 'install disk'
-
Write-Host 'Disabling pagefile...'
wmic computersystem set AutomaticManagedPagefile=False
wmic pagefileset delete
-Write-Host 'Configuring AntiVirus exclusions...'
-Add-MPPreference -ExclusionPath C:\
-Add-MPPreference -ExclusionPath D:\
-Add-MPPreference -ExclusionPath E:\
-Add-MPPreference -ExclusionProcess ninja.exe
-Add-MPPreference -ExclusionProcess clang-cl.exe
-Add-MPPreference -ExclusionProcess cl.exe
-Add-MPPreference -ExclusionProcess link.exe
-Add-MPPreference -ExclusionProcess python.exe
+$av = Get-Command Add-MPPreference -ErrorAction SilentlyContinue
+if ($null -eq $av) {
+ Write-Host 'AntiVirus not installed, skipping exclusions.'
+} else {
+ Write-Host 'Configuring AntiVirus exclusions...'
+ Add-MPPreference -ExclusionPath C:\
+ Add-MPPreference -ExclusionPath D:\
+ Add-MPPreference -ExclusionProcess ninja.exe
+ Add-MPPreference -ExclusionProcess clang-cl.exe
+ Add-MPPreference -ExclusionProcess cl.exe
+ Add-MPPreference -ExclusionProcess link.exe
+ Add-MPPreference -ExclusionProcess python.exe
+}
InstallVisualStudio -Workloads $Workloads -BootstrapperUrl $VisualStudioBootstrapperUrl -Nickname 'Stable'
+InstallWindowsSDK -Url $WindowsSDKUrl
+InstallWindowsWDK -Url $WindowsWDKUrl
InstallMpi -Url $MpiUrl
InstallCuda -Url $CudaUrl -Features $CudaFeatures
InstallZip -Url $BinSkimUrl -Name 'BinSkim' -Dir 'C:\BinSkim'
-if (-Not ([string]::IsNullOrWhiteSpace($StorageAccountName))) {
+if ([string]::IsNullOrWhiteSpace($StorageAccountName)) {
+ Write-Host 'No storage account name configured.'
+} else {
Write-Host 'Storing storage account name to environment'
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment' `
-Name StorageAccountName `
-Value $StorageAccountName
}
-if (-Not ([string]::IsNullOrWhiteSpace($StorageAccountKey))) {
+if ([string]::IsNullOrWhiteSpace($StorageAccountKey)) {
+ Write-Host 'No storage account key configured.'
+} else {
Write-Host 'Storing storage account key to environment'
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment' `
-Name StorageAccountKey `
diff --git a/scripts/boost/generate-ports.ps1 b/scripts/boost/generate-ports.ps1
index 619ba0061..992cf37a2 100644
--- a/scripts/boost/generate-ports.ps1
+++ b/scripts/boost/generate-ports.ps1
@@ -394,7 +394,7 @@ foreach ($library in $libraries)
if ($libraries_in_boost_port.length -gt 1) {
# Generate master boost control file which depends on each individual library
- # mpi is excluded due to it having a dependency on msmpi
+ # mpi is excluded due to it having a dependency on msmpi/openmpi
$boostDependsList = @($libraries_in_boost_port | % { "boost-$_" } | ? { $_ -notmatch "boost-mpi" }) -join ", "
@(
diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt
index a85965091..728225004 100644
--- a/scripts/ci.baseline.txt
+++ b/scripts/ci.baseline.txt
@@ -143,11 +143,8 @@ blosc:x64-uwp=fail
bond:arm-uwp=fail
bond:x64-osx=fail
bond:x64-uwp=fail
-boost-context:arm-uwp=fail
-boost-context:x64-uwp=fail
boost-coroutine:arm-uwp=fail
boost-coroutine:arm64-windows=fail
-boost-coroutine:x64-uwp=fail
boost-fiber:arm-uwp=fail
boost-fiber:arm64-windows=fail
boost-fiber:x64-osx=fail
@@ -446,8 +443,6 @@ fdlibm:arm-uwp=fail
fdlibm:x64-uwp=fail
fftw3:arm-uwp=fail
fftw3:x64-uwp=fail
-# ffmpeg on arm64 is currently failing due to an internal compiler error
-ffmpeg:arm64-windows=fail
field3d:x64-windows=fail
field3d:x64-windows-static=fail
field3d:x86-windows=fail
@@ -606,8 +601,8 @@ hwloc:arm-uwp=fail
hwloc:x64-uwp=fail
hyperscan:x64-linux=ignore
# hypre has a conflict with 'superlu' port
-hypre:x64-linux=fail
-hypre:x64-osx=fail
+hypre:x64-linux=skip
+hypre:x64-osx=skip
icu:arm64-windows=fail
icu:arm-uwp=fail
icu:x64-uwp=fail
@@ -1204,6 +1199,7 @@ nativefiledialog:x64-uwp=fail
netcdf-cxx4:x64-linux=ignore
nethost:x64-uwp=fail
nethost:arm-uwp=fail
+nettle:x64-windows-static=skip
nettle:x64-windows=skip
nettle:x64-osx=fail
networkdirect-sdk:arm64-windows=fail
@@ -1464,8 +1460,6 @@ portmidi:arm-uwp=fail
portmidi:x64-linux=fail
portmidi:x64-osx=fail
portmidi:x64-uwp=fail
-ppconsul:arm-uwp=fail
-ppconsul:x64-uwp=fail
ppconsul:x64-linux=ignore
pqp:arm-uwp=fail
pqp:x64-uwp=fail
@@ -1536,6 +1530,9 @@ qt5-x11extras:x64-osx=fail
qt5-x11extras:x86-windows=fail
qt5-x11extras:x64-windows=fail
qt5-x11extras:x64-windows-static=fail
+# Broken by VS2019 16.6 and throws a ton of dialogs attempting to build
+# fixed by https://github.com/microsoft/vcpkg/pull/11596
+qt5-translations:x64-windows-static=skip
quickfast:x64-linux=ignore
quickfix:x64-linux=ignore
quickfix:x64-windows=ignore