diff options
| author | Billy Robert O'Neal III <bion@microsoft.com> | 2020-04-28 22:16:12 -0700 |
|---|---|---|
| committer | Billy O'Neal <billy.oneal@gmail.com> | 2020-04-30 21:51:31 -0700 |
| commit | b8755728ab92f43d3056091324d7135b1c9fc390 (patch) | |
| tree | 61b68858eaee5e547c2cdc95c7aa601d334627ab /scripts/azure-pipelines/windows | |
| parent | 43d664ab53233acc1afacaefbdc8ece98b75d02a (diff) | |
| download | vcpkg-b8755728ab92f43d3056091324d7135b1c9fc390.tar.gz vcpkg-b8755728ab92f43d3056091324d7135b1c9fc390.zip | |
[vcpkg] Onboard Linux to VMSS, open 'git' port, and switch back to Azure Spot
* Adds scripts to generate scale sets for testing Linux.
* Note workaround for https://github.com/microsoft/azure-pipelines-agent/pull/2929
* Switches Windows validation to 'Spot' VMs.
* Opens the git port 9418.
* Removes provisioning of the no longer used 'logs' file share.
* Changes Azure region to 'westus2', which is cheaper.
* Adds +x to all the scripts in scripts/azure-pipelines.
* Use 'xml-results' for all platforms instead of 'raw xml results' on Windows.
Diffstat (limited to 'scripts/azure-pipelines/windows')
| -rw-r--r-- | scripts/azure-pipelines/windows/azure-pipelines.yml | 18 | ||||
| -rw-r--r-- | scripts/azure-pipelines/windows/create-vmss.ps1 | 35 | ||||
| -rw-r--r-- | scripts/azure-pipelines/windows/initialize-environment.ps1 | 5 |
3 files changed, 30 insertions, 28 deletions
diff --git a/scripts/azure-pipelines/windows/azure-pipelines.yml b/scripts/azure-pipelines/windows/azure-pipelines.yml index 2e2e38c96..559037e3b 100644 --- a/scripts/azure-pipelines/windows/azure-pipelines.yml +++ b/scripts/azure-pipelines/windows/azure-pipelines.yml @@ -7,9 +7,6 @@ jobs: pool:
name: ${{ parameters.poolName }}
- variables:
- triplet: '${{ parameters.triplet }}'
-
timeoutInMinutes: 1440 # 1 day
steps:
@@ -20,17 +17,17 @@ jobs: - powershell: |
$baselineFile = "$(System.DefaultWorkingDirectory)\scripts\ci.baseline.txt"
- $skipList = $(System.DefaultWorkingDirectory)\scripts\azure-pipelines\generate-skip-list.ps1 -Triplet "$(triplet)" -BaselineFile $baselineFile
+ $skipList = $(System.DefaultWorkingDirectory)\scripts\azure-pipelines\generate-skip-list.ps1 -Triplet "${{ parameters.triplet }}" -BaselineFile $baselineFile
Write-Host "baseline file: $baselineFile"
Write-Host "skip list: $skipList"
- $(System.DefaultWorkingDirectory)\scripts\azure-pipelines\windows\ci-step.ps1 -Triplet "$(triplet)" -ExcludePorts $skipList
+ $(System.DefaultWorkingDirectory)\scripts\azure-pipelines\windows\ci-step.ps1 -Triplet "${{ parameters.triplet }}" -ExcludePorts $skipList
Write-Host "CI test script is complete"
errorActionPreference: continue
displayName: '** Build vcpkg and Test Modified Ports **'
- powershell: |
- $baseName = "$(triplet)"
- $outputPathRoot = "$(System.ArtifactsDirectory)\raw xml results"
+ $baseName = "${{ parameters.triplet }}"
+ $outputPathRoot = "$(System.ArtifactsDirectory)\xml-results"
if(-not (Test-Path $outputPathRoot))
{
Write-Host "creating $outputPathRoot"
@@ -56,11 +53,10 @@ jobs: inputs:
failOnStderr: true
filePath: 'scripts/azure-pipelines/analyze-test-results.ps1'
- arguments: '-baselineFile ''$(System.DefaultWorkingDirectory)\scripts\ci.baseline.txt'' -logDir ''$(System.ArtifactsDirectory)\raw xml results'' -failurelogDir ''archives\fail'' -outputDir ''$(Build.ArtifactStagingDirectory)'' -errorOnRegression -triplets ''$(triplet)'''
-
+ arguments: '-baselineFile "$(System.DefaultWorkingDirectory)\scripts\ci.baseline.txt" -logDir "$(System.ArtifactsDirectory)\xml-results" -failurelogDir "archives\fail" -outputDir "$(Build.ArtifactStagingDirectory)" -errorOnRegression -triplets "${{ parameters.triplet }}"'
- task: PublishBuildArtifacts@1
- displayName: 'Publish Artifact: $(triplet) port build failure logs'
+ displayName: 'Publish Artifact: ${{ parameters.triplet }} port build failure logs'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)\failureLogs'
- ArtifactName: '$(triplet) port build failure logs'
+ ArtifactName: '${{ parameters.triplet }} port build failure logs'
condition: failed()
diff --git a/scripts/azure-pipelines/windows/create-vmss.ps1 b/scripts/azure-pipelines/windows/create-vmss.ps1 index 099c7dbfb..8c05cd51d 100644 --- a/scripts/azure-pipelines/windows/create-vmss.ps1 +++ b/scripts/azure-pipelines/windows/create-vmss.ps1 @@ -1,7 +1,6 @@ # Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: MIT
#
-#
<#
.SYNOPSIS
@@ -17,7 +16,7 @@ at https://docs.microsoft.com/en-us/powershell/azure/install-az-ps?view=azps-3.6 or are running from Azure Cloud Shell.
#>
-$Location = 'SouthCentralUS'
+$Location = 'westus2'
$Prefix = 'PrWin-' + (Get-Date -Format 'yyyy-MM-dd')
$VMSize = 'Standard_F16s_v2'
$ProtoVMName = 'PROTOTYPE'
@@ -212,13 +211,25 @@ $allowDns = New-AzNetworkSecurityRuleConfig ` -DestinationAddressPrefix * `
-DestinationPortRange 53
+$allowGit = New-AzNetworkSecurityRuleConfig `
+ -Name AllowGit `
+ -Description 'Allow git' `
+ -Access Allow `
+ -Protocol Tcp `
+ -Direction Outbound `
+ -Priority 1010 `
+ -SourceAddressPrefix * `
+ -SourcePortRange * `
+ -DestinationAddressPrefix * `
+ -DestinationPortRange 9418
+
$allowStorage = New-AzNetworkSecurityRuleConfig `
-Name AllowStorage `
-Description 'Allow Storage' `
-Access Allow `
-Protocol * `
-Direction Outbound `
- -Priority 1010 `
+ -Priority 1011 `
-SourceAddressPrefix VirtualNetwork `
-SourcePortRange * `
-DestinationAddressPrefix Storage `
@@ -230,7 +241,7 @@ $denyEverythingElse = New-AzNetworkSecurityRuleConfig ` -Access Deny `
-Protocol * `
-Direction Outbound `
- -Priority 1011 `
+ -Priority 1012 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
@@ -241,7 +252,7 @@ $NetworkSecurityGroup = New-AzNetworkSecurityGroup ` -Name $NetworkSecurityGroupName `
-ResourceGroupName $ResourceGroupName `
-Location $Location `
- -SecurityRules @($allowHttp, $allowDns, $allowStorage, $denyEverythingElse)
+ -SecurityRules @($allowHttp, $allowDns, $allowGit, $allowStorage, $denyEverythingElse)
$SubnetName = $ResourceGroupName + 'Subnet'
$Subnet = New-AzVirtualNetworkSubnetConfig `
@@ -282,10 +293,8 @@ $StorageContext = New-AzStorageContext ` -StorageAccountName $StorageAccountName `
-StorageAccountKey $StorageAccountKey
-$ArchivesFiles = New-AzStorageShare -Name 'archives' -Context $StorageContext
+New-AzStorageShare -Name 'archives' -Context $StorageContext
Set-AzStorageShareQuota -ShareName 'archives' -Context $StorageContext -Quota 5120
-$LogFiles = New-AzStorageShare -Name 'logs' -Context $StorageContext
-Set-AzStorageShareQuota -ShareName 'logs' -Context $StorageContext -Quota 64
####################################################################################################
Write-Progress `
@@ -305,8 +314,7 @@ $VM = Set-AzVMOperatingSystem ` -Windows `
-ComputerName $ProtoVMName `
-Credential $Credential `
- -ProvisionVMAgent `
- -EnableAutoUpdate
+ -ProvisionVMAgent
$VM = Add-AzVMNetworkInterface -VM $VM -Id $Nic.Id
$VM = Set-AzVMSourceImage `
@@ -417,11 +425,14 @@ $VmssIpConfig = New-AzVmssIpConfig -SubnetId $Nic.IpConfigurations[0].Subnet.Id $VmssName = $ResourceGroupName + 'Vmss'
$Vmss = New-AzVmssConfig `
-Location $Location `
- -SkuCapacity 6 `
+ -SkuCapacity 0 `
-SkuName $VMSize `
-SkuTier 'Standard' `
-Overprovision $false `
- -UpgradePolicyMode Manual
+ -UpgradePolicyMode Manual `
+ -EvictionPolicy Delete `
+ -Priority Spot `
+ -MaxPrice -1
$Vmss = Add-AzVmssNetworkInterfaceConfiguration `
-VirtualMachineScaleSet $Vmss `
diff --git a/scripts/azure-pipelines/windows/initialize-environment.ps1 b/scripts/azure-pipelines/windows/initialize-environment.ps1 index b86006a9c..4bbc15665 100644 --- a/scripts/azure-pipelines/windows/initialize-environment.ps1 +++ b/scripts/azure-pipelines/windows/initialize-environment.ps1 @@ -34,11 +34,6 @@ if (-Not (Test-Path W:)) { net use W: "\\$StorageAccountName.file.core.windows.net\archives" /u:"AZURE\$StorageAccountName" $StorageAccountKey
}
-Write-Host 'Setting up logs mount'
-if (-Not (Test-Path L:)) {
- net use L: "\\$StorageAccountName.file.core.windows.net\logs" /u:"AZURE\$StorageAccountName" $StorageAccountKey
-}
-
Write-Host 'Creating downloads directory'
mkdir D:\downloads -ErrorAction SilentlyContinue
|
