11variables :
22 buildNumber : $[ counter('constant', 13000) ]
33 isReleaseBranch : $[contains(variables['Build.SourceBranch'], 'release/')]
4- ${{ if contains(variables['Build.SourceBranch'], 'release/inproc6/') }} :
5- minorVersionPrefix : " 6"
6- ${{ elseif contains(variables['Build.SourceBranch'], 'release/inproc8/') }} :
7- minorVersionPrefix : " 8"
8- ${{ else }} :
9- minorVersionPrefix : " "
104 DOTNET_NOLOGO : 1
115 DOTNET_SKIP_FIRST_TIME_EXPERIENCE : 1
126 DOTNET_CLI_TELEMETRY_OPTOUT : 1
@@ -46,11 +40,16 @@ jobs:
4640 name : Initialize
4741 inputs :
4842 filePath : ' $(Build.Repository.LocalPath)\build\initialize-pipeline.ps1'
49- arguments : -minorVersionPrefix "$(minorVersionPrefix)"
5043 showWarnings : true
5144 pwsh : true
5245
5346- job : BuildArtifacts
47+ strategy :
48+ matrix :
49+ net6 :
50+ minorVersionPrefix : " 6"
51+ net8 :
52+ minorVersionPrefix : " 8"
5453 dependsOn : InitializePipeline
5554 condition : and(succeeded(), or(ne(variables['Build.Reason'], 'PullRequest'), eq(dependencies.InitializePipeline.outputs['Initialize.BuildArtifacts'], true)))
5655 variables :
6867 steps :
6968 - template : build/install-dotnet.yml
7069 - task : PowerShell@2
71- displayName : " Build artifacts"
70+ displayName : " Build artifacts $(minorVersionPrefix) "
7271 inputs :
7372 filePath : ' $(Build.Repository.LocalPath)\build\build-extensions.ps1'
7473 arguments : ' -buildNumber "$(buildNumber)" -suffix "$(suffix)" -minorVersionPrefix "$(minorVersionPrefix)"'
@@ -81,12 +80,13 @@ jobs:
8180 SourceFolder : ' out/pub/WebJobs.Script.WebHost'
8281 Contents : ' **/*.zip'
8382 TargetFolder : ' $(Build.ArtifactStagingDirectory)'
83+
8484 - task : DotNetCoreCLI@2
8585 displayName : ' Build host packages'
8686 inputs :
8787 command : ' custom'
8888 custom : ' pack'
89- arguments : -p:BuildNumber=$(buildNumber) -c Release $(packSuffixSwitch)
89+ arguments : ' -p:BuildNumber=$(buildNumber) -c Release $(packSuffixSwitch) -p:MinorVersionPrefix="$(minorVersionPrefix)" '
9090 projects : |
9191 **\WebJobs.Script.csproj
9292 **\WebJobs.Script.WebHost.csproj
@@ -103,7 +103,7 @@ jobs:
103103 displayName : ' ESRP CodeSigning: Strong Name and Authenticode'
104104 inputs :
105105 ConnectedServiceName : ' ESRP Service'
106- FolderPath : ' out/bin/WebJobs.Script.Abstractions/release '
106+ FolderPath : ' out/bin/WebJobs.Script.Abstractions'
107107 Pattern : Microsoft.Azure.WebJobs.Script.Abstractions*.dll
108108 signConfigType : inlineSignParams
109109 inlineOperation : |
@@ -257,8 +257,10 @@ jobs:
257257 inputs :
258258 BuildDropPath : ' $(Build.ArtifactStagingDirectory)\SiteExtension'
259259 Verbosity : ' Information'
260+
260261 - publish : $(Build.ArtifactStagingDirectory)\SiteExtension
261- artifact : SiteExtension
262+ artifact : _SiteExtension.net$(minorVersionPrefix)
263+
262264 - pwsh : |
263265 if ((test-path $(Build.ArtifactStagingDirectory)\ZippedPatchSiteExtension))
264266 {
@@ -272,23 +274,23 @@ jobs:
272274 BuildDropPath : ' $(Build.ArtifactStagingDirectory)\ZippedPatchSiteExtension'
273275 Verbosity : ' Information'
274276 condition : and(succeeded(), eq(variables['isPatchVersion'], 'true'))
275- - publish : $(Build.ArtifactStagingDirectory)\ZippedPatchSiteExtension
276- artifact : PatchedSiteExtension
277- condition : and(succeeded(), eq(variables['isPatchVersion'], 'true'))
278277 - task : ManifestGeneratorTask@0
279278 displayName : ' SBOM Generation Task - PrivateSiteExtension'
280279 inputs :
281280 BuildDropPath : ' $(Build.ArtifactStagingDirectory)\PrivateSiteExtension'
282281 Verbosity : ' Information'
282+
283283 - publish : $(Build.ArtifactStagingDirectory)\PrivateSiteExtension
284- artifact : PrivateSiteExtension
284+ artifact : _PrivateSiteExtension.net$(minorVersionPrefix)
285+
285286 - task : ManifestGeneratorTask@0
286287 displayName : ' SBOM Generation Task - Symbols'
287288 inputs :
288289 BuildDropPath : ' $(Build.ArtifactStagingDirectory)\Symbols'
289290 Verbosity : ' Information'
290291 - publish : $(Build.ArtifactStagingDirectory)\Symbols
291- artifact : Symbols
292+ artifact : _Symbols.net$(minorVersionPrefix)
293+
292294 - task : ManifestGeneratorTask@0
293295 displayName : ' SBOM Generation Task - NugetPackages'
294296 inputs :
@@ -558,3 +560,88 @@ jobs:
558560 inputs :
559561 filePath : ' $(Build.Repository.LocalPath)\build\checkin-secrets.ps1'
560562 arguments : ' -connectionString '' $(Storage-azurefunctionshostci0)'' -leaseBlob $(LeaseBlob) -leaseToken $(LeaseToken)'
563+
564+ - job : PublishArtifacts
565+ dependsOn : BuildArtifacts
566+ condition : succeeded()
567+
568+ steps :
569+
570+ - task : DownloadPipelineArtifact@2
571+ displayName : ' Download _SiteExtension.net6 Artifact'
572+ inputs :
573+ buildType : ' current'
574+ artifact : ' _SiteExtension.net6'
575+ path : ' $(Build.ArtifactStagingDirectory)/SiteExtension'
576+
577+ - task : DownloadPipelineArtifact@2
578+ displayName : ' Download _SiteExtension.net8 Artifact'
579+ inputs :
580+ buildType : ' current'
581+ artifact : ' _SiteExtension.net8'
582+ path : ' $(Build.ArtifactStagingDirectory)/SiteExtension'
583+
584+ - task : DownloadPipelineArtifact@2
585+ displayName : ' Download _PrivateSiteExtension.net6 Artifact'
586+ inputs :
587+ buildType : ' current'
588+ artifact : ' _PrivateSiteExtension.net6'
589+ path : ' $(Build.ArtifactStagingDirectory)/PrivateSiteExtension'
590+
591+ - task : DownloadPipelineArtifact@2
592+ displayName : ' Download _PrivateSiteExtension.net8 Artifact'
593+ inputs :
594+ buildType : ' current'
595+ artifact : ' _PrivateSiteExtension.net8'
596+ path : ' $(Build.ArtifactStagingDirectory)/PrivateSiteExtension'
597+
598+ - task : DownloadPipelineArtifact@2
599+ displayName : ' Download _Packages.net8 Artifact'
600+ inputs :
601+ buildType : ' current'
602+ artifact : ' _Packages.net8'
603+ path : ' $(Build.ArtifactStagingDirectory)/packages'
604+
605+ - task : DownloadPipelineArtifact@2
606+ displayName : ' Download Symbols6 Artifact'
607+ inputs :
608+ buildType : ' current'
609+ artifact : ' _Symbols.net6'
610+ path : ' $(Build.ArtifactStagingDirectory)/Symbols'
611+
612+ - task : DownloadPipelineArtifact@2
613+ displayName : ' Download Symbols8 Artifact'
614+ inputs :
615+ buildType : ' current'
616+ artifact : ' _Symbols.net8'
617+ path : ' $(Build.ArtifactStagingDirectory)/Symbols'
618+
619+ # Publish artifacts.
620+
621+ - task : PublishPipelineArtifact@1
622+ displayName : ' Publish SiteExtension Artifact'
623+ inputs :
624+ targetPath : ' $(Build.ArtifactStagingDirectory)/SiteExtension'
625+ artifact : ' SiteExtension'
626+ publishLocation : ' pipeline'
627+
628+ - task : PublishPipelineArtifact@1
629+ displayName : ' Publish PrivateSiteExtension Artifact'
630+ inputs :
631+ targetPath : ' $(Build.ArtifactStagingDirectory)/PrivateSiteExtension'
632+ artifact : ' PrivateSiteExtension'
633+ publishLocation : ' pipeline'
634+
635+ - task : PublishPipelineArtifact@1
636+ displayName : ' Publish Nuget packages Artifact'
637+ inputs :
638+ targetPath : ' $(Build.ArtifactStagingDirectory)/packages'
639+ artifact : ' NugetPackages'
640+ publishLocation : ' pipeline'
641+
642+ - task : PublishPipelineArtifact@1
643+ displayName : ' Publish Symbols Artifact'
644+ inputs :
645+ targetPath : ' $(Build.ArtifactStagingDirectory)/Symbols'
646+ artifact : ' Symbols'
647+ publishLocation : ' pipeline'
0 commit comments