diff options
| author | Billy O'Neal <bion@microsoft.com> | 2020-06-11 11:13:09 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-06-11 11:13:09 -0700 |
| commit | 55d6bd1b7d1fab3515b3c7f18d2607906919d356 (patch) | |
| tree | 3857acc726c12e3efbf3e7fd74b0999a29b3894b /scripts | |
| parent | ae45816c34d604967209bc3218f33ab328927702 (diff) | |
| download | vcpkg-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.yml | 134 | ||||
| -rw-r--r-- | scripts/azure-pipelines/clean-tombstones.yml | 32 | ||||
| -rwxr-xr-x | scripts/azure-pipelines/linux/create-vmss.ps1 | 3 | ||||
| -rwxr-xr-x | scripts/azure-pipelines/linux/provision-image.sh | 65 | ||||
| -rw-r--r-- | scripts/azure-pipelines/windows/azure-pipelines.yml | 6 | ||||
| -rw-r--r-- | scripts/azure-pipelines/windows/create-vmss.ps1 | 17 | ||||
| -rw-r--r-- | scripts/azure-pipelines/windows/provision-image.ps1 | 176 | ||||
| -rw-r--r-- | scripts/boost/generate-ports.ps1 | 2 | ||||
| -rw-r--r-- | scripts/ci.baseline.txt | 15 |
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
|
