88# - dev
99
1010pool :
11- vmImage : ' vs2017-win2016'
11+ name : ' 1ES-Hosted-AzFunc'
12+ vmImage : ' MMS2019TLS'
1213
1314variables :
1415 Configuration : Release
1516 buildNumber : $[ counter('build', 400) ] # Start higher than our AppVeyor versions. Every build (pr or branch) will increment.
1617
1718steps :
19+ - pwsh : |
20+ $releaseBranches = @('v4.x/ps7.2', 'v4.x/ps7.0', 'v3.x/ps7', 'v3.x/ps6', 'v2.x')
21+
22+ Write-Host "BuildSourceBranch: $($env:BuildSourceBranch)"
23+ $branchName = $env:BuildSourceBranch.Replace("refs/heads/", "")
24+ Write-Host "BranchName: $branchName"
25+
26+ $isReleaseBuild = ($releaseBranches -contains $branchName)
27+ Write-Host "##vso[task.setvariable variable=IsReleaseBuild]$isReleaseBuild"
28+ Write-Host "IsReleaseBuild: $isReleaseBuild"
29+ displayName : ' Set IsReleaseBuild variable'
30+ env :
31+ BuildSourceBranch : $(Build.SourceBranch)
32+
33+ - pwsh : |
34+ Invoke-WebRequest 'https://raw.githubusercontent.com/dotnet/cli/master/scripts/obtain/dotnet-install.ps1' -OutFile 'dotnet-install.ps1'
35+ ./dotnet-install.ps1 -InstallDir "$env:ProgramFiles/dotnet" -Version "3.1.415" -Channel 'release'
36+ displayName : ' Install .Net 3.1 which is required by the Microsoft.ManifestTool.dll tool'
37+ condition : eq(variables['IsReleaseBuild'], 'true')
38+
1839- pwsh : ./build.ps1 -NoBuild -Bootstrap
1940 displayName : ' Running ./build.ps1 -NoBuild -Bootstrap'
2041
2142- pwsh : |
2243 $ErrorActionPreference = "Stop"
23- ./build.ps1 -Clean -Configuration Release -BuildNumber "$(buildNumber)"
44+ if ($isReleaseBuild)
45+ {
46+ ./build.ps1 -Clean -Configuration Release -BuildNumber "$(buildNumber)" -AddSBOM -SBOMUtilSASUrl $env:SBOMUtilSASUrl
47+ }
48+ else
49+ {
50+ ./build.ps1 -Clean -Configuration Release -BuildNumber "$(buildNumber)"
51+ }
2452 displayName : ' Build worker code'
53+ env :
54+ SBOMUtilSASUrl : $(SBOMUtilSASUrl)
2555
2656- pwsh : ./build.ps1 -NoBuild -Test
2757 displayName : ' Running UnitTest'
@@ -36,41 +66,23 @@ steps:
3666 PSWorkerEnableExperimentalDurableFunctions : " true"
3767 displayName : ' Running E2ETest'
3868
39- - task : CopyFiles @2
69+ - task : PublishTestResults @2
4070 inputs :
41- SourceFolder : ' $(System.DefaultWorkingDirectory)/testResults'
42- Contents : ' *.trx'
43- TargetFolder : ' $(Build.ArtifactStagingDirectory)'
44- displayName : ' Copying test result file for artifacts'
71+ testResultsFormat : ' VSTest'
72+ testResultsFiles : ' **/*.trx'
73+ failTaskOnFailedTests : true
74+ condition : succeededOrFailed()
75+ displayName : ' Publish tests results'
4576
46- - task : PublishBuildArtifacts@1
77+ - task : CopyFiles@2
4778 inputs :
48- PathtoPublish : ' $(Build.ArtifactStagingDirectory) '
49- ArtifactName : ' drop '
50- publishLocation : ' Container '
51- displayName : ' Publishing build and test result artifacts'
79+ SourceFolder : ' $(System.DefaultWorkingDirectory)/package '
80+ Contents : ' **/*.nupkg '
81+ TargetFolder : ' $(Build.ArtifactStagingDirectory) '
82+ displayName : ' Copy package to artifacts directory '
5283
53- - pwsh : |
54- $sourcePath = (ls package/**/*/Microsoft.Azure.Functions.PowerShellWorker*.nupkg).FullName
55- if (-not (test-path $sourcePath))
56- {
57- throw 'Unable to find Microsoft.Azure.Functions.PowerShellWorker*.nupkg at ./package'
58- }
59- Copy-Item -Path $sourcePath -Destination $(Build.ArtifactStagingDirectory) -ErrorAction Stop -Verbose -Force
60- displayName : ' Copy package to ArtifactStagingDirectory'
61-
62- - pwsh : |
63- $uploadPackage = $null
64- if (-not ([bool]::TryParse($env:UPLOADPACKAGETOPRERELEASEFEED, [ref] $uploadPackage)))
65- {
66- throw "UploadPackageToPreReleaseFeed can only be set to True or False. Current value is set to $env:UPLOADPACKAGETOPRERELEASEFEED"
67- }
68- Write-Host "##vso[task.setvariable variable=UploadPackage]$uploadPackage"
69- Write-Host "UploadPackage: $uploadPackage"
70- displayName : ' Set UploadPackage variable'
71-
7284- task : NuGetCommand@2
73- condition : and(ne(variables['Build.Reason'], 'PullRequest'), in (variables['Build.SourceBranch '], 'refs/heads/v3.x/ps7', 'refs/heads/v3.x/ps6', 'refs/heads/v2.x' ), eq(variables.UploadPackage, false))
85+ condition : and(ne(variables['Build.Reason'], 'PullRequest'), eq (variables['IsReleaseBuild '], 'true' ), eq(variables['UPLOADPACKAGETOPRERELEASEFEED'], ' false' ))
7486 inputs :
7587 command : ' push'
7688 packagesToPush : ' $(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg'
8092 displayName : ' Push NuGet package'
8193
8294- task : NuGetCommand@2
83- condition : eq(variables.UploadPackage, true)
95+ condition : eq(variables['UPLOADPACKAGETOPRERELEASEFEED'], ' true' )
8496 inputs :
8597 command : ' push'
8698 packagesToPush : ' $(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg'
0 commit comments