tools/PollSigningResults.ps1 (47 lines of code) (raw):

param ( [string]$buildNumber, [string]$artifactDirectory, [bool]$skipAssemblySigning = $false ) if ($null -eq $buildNumber) { throw 'Parameter $buildNumber cannot be null or empty. Exiting script.' } if (-not (Test-Path $artifactDirectory)) { throw "Artifact directory '$artifactDirectory' not found. Exiting script." } $timeout = New-Timespan -Minutes 15 Write-Host "Set polling timeout to:" $timeout.ToString(); $sw = [System.Diagnostics.Stopwatch]::StartNew(); $polling = $true; Write-Host "Connecting to storage account." $ctx = New-AzureStorageContext -StorageAccountName $env:FILES_ACCOUNT_NAME -StorageAccountKey $env:FILES_ACCOUNT_KEY $blob = $null; while ($sw.elapsed -lt $timeout -and $polling) { Write-Host "Retrieving Jenkins artifacts.." $blob = Get-AzureStorageBlob -Blob "$buildNumber.zip" -Container "azure-webjobs-extensions-signed" -Context $ctx -ErrorAction Ignore if (-not $blob) { Write-Host "Jenkins artifacts not found. ${sw.elapsed} elapsed. Polling..." } else { Write-Host "Jenkins artifacts found." $polling = $false; } Start-Sleep -Seconds 5 } $sw.Stop(); if ($polling) { "No jenkins artifacts found after ${sw.Elapsed}. Investigate job at https://funkins-master.redmond.corp.microsoft.com/job/Build_signing/" exit(1); } Write-Host "Removing directory $artifactDirectory" Remove-Item -Path $artifactDirectory -Recurse -Force Write-Host "Recreating directory $artifactDirectory" New-Item -ItemType "directory" -Path $artifactDirectory $signedZipPath = Join-Path -Path $artifactDirectory -ChildPath "signed.zip" Write-Host "Downloading signed file zip $buildNumber.zip to $signedZipPath" Get-AzureStorageBlobContent -Blob "$buildNumber.zip" -Container "azure-webjobs-extensions-signed" -Destination $signedZipPath -Context $ctx Write-Host "Unzipping signed files to $artifactDirectory" Expand-Archive -LiteralPath $signedZipPath -DestinationPath $artifactDirectory Write-Host "Removing signed file zip ${Split-Path -Path $signedZipPath -Leaf}." Remove-Item -Path $signedZipPath if (-not $?) { exit 1 }