1717
1818variables :
1919 buildConfiguration : Release
20+ NuGetOrganizationName : ' openapinet'
21+ privateFeedBaseUrl : ' https://microsoftgraph.pkgs.visualstudio.com/0985d294-5762-4bc2-a565-161ef349ca3e/_packaging/GraphDeveloperExperiences_Public'
2022 # Keep OFF until the destination PR lands and source publishing is cut over.
2123 hidiPublishingEnabled : ' false'
2224
@@ -162,7 +164,7 @@ extends:
162164 Copy-Item artifacts\hidi\signing\Microsoft.OpenApi.Hidi.dll src\Microsoft.OpenApi.Hidi\bin\$(buildConfiguration)\net8.0\Microsoft.OpenApi.Hidi.dll
163165 Copy-Item artifacts\hidi\signing\Microsoft.OpenApi.Hidi.exe artifacts\hidi\win-x64\Microsoft.OpenApi.Hidi.exe
164166 New-Item -ItemType Directory -Force '$(Build.ArtifactStagingDirectory)\hidi' | Out-Null
165- dotnet pack src\Microsoft.OpenApi.Hidi\Microsoft.OpenApi.Hidi.csproj -c $(buildConfiguration) --no-build -o '$(Build.ArtifactStagingDirectory)\hidi'
167+ dotnet pack src\Microsoft.OpenApi.Hidi\Microsoft.OpenApi.Hidi.csproj -c $(buildConfiguration) --no-build --include-symbols --include-source /p:SymbolPackageFormat=snupkg - o '$(Build.ArtifactStagingDirectory)\hidi'
166168 if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
167169 Compress-Archive -Path artifacts\hidi\win-x64\* -DestinationPath '$(Build.ArtifactStagingDirectory)\hidi\hidi-win-x64-$(HidiVersion).zip'
168170 Copy-Item artifacts\hidi\win-x64\Microsoft.OpenApi.Hidi.exe '$(Build.ArtifactStagingDirectory)\hidi\Microsoft.OpenApi.Hidi.exe'
@@ -200,6 +202,12 @@ extends:
200202 MaxConcurrency : ' 50'
201203 MaxRetryAttempts : ' 5'
202204 PendingAnalysisWaitTimeoutMinutes : ' 5'
205+ - task : CopyFiles@2
206+ displayName : Include private-feed version check in Hidi artifact
207+ inputs :
208+ SourceFolder : ' $(Build.SourcesDirectory)\scripts'
209+ Contents : ' check-nuget-package-published.ps1'
210+ TargetFolder : ' $(Build.ArtifactStagingDirectory)\hidi\scripts'
203211 - stage : publish
204212 dependsOn : build
205213 condition : and(succeeded(), eq(variables.hidiPublishingEnabled, 'true'), startsWith(variables['Build.SourceBranch'], 'refs/tags/hidi-v2.'))
@@ -222,15 +230,50 @@ extends:
222230 if ([version]($tag -split '-')[0] -le [version]'2.12.2') { throw "Never republish the source migration baseline or an older hidi version." }
223231 $package = "$(Pipeline.Workspace)\hidi\Microsoft.OpenApi.Hidi.$tag.nupkg"
224232 if (-not (Test-Path $package)) { throw "Missing exact hidi package: $package" }
233+ $symbols = "$(Pipeline.Workspace)\hidi\Microsoft.OpenApi.Hidi.$tag.snupkg"
234+ if (-not (Test-Path $symbols)) { throw "Missing exact hidi symbols: $symbols" }
225235 Write-Host "##vso[task.setvariable variable=HidiReleaseVersion]$tag"
226236 displayName: Verify new hidi release version and exact package
227- - task : 1ES.PublishNuget@1
228- displayName : Publish hidi NuGet tool
237+ - task : PowerShell@2
238+ displayName : Check whether Hidi NuGet version is already published
239+ inputs :
240+ targetType : filePath
241+ filePath : ' $(Pipeline.Workspace)\hidi\scripts\check-nuget-package-published.ps1'
242+ arguments : ' -PackageId "Microsoft.OpenApi.Hidi" -PackageDirectory "$(Pipeline.Workspace)\hidi" -NuGetServiceIndexUrl "$(privateFeedBaseUrl)/nuget/v3/index.json"'
243+ pwsh : true
244+ env :
245+ FEED_ACCESS_TOKEN : $(System.AccessToken)
246+ - task : CopyFiles@2
247+ displayName : Stage exact Hidi NuGet packages for ESRP release
248+ condition : and(succeeded(), ne(variables['nugetAlreadyPublished'], 'true'))
249+ inputs :
250+ SourceFolder : ' $(Pipeline.Workspace)\hidi'
251+ Contents : |
252+ Microsoft.OpenApi.Hidi.$(HidiReleaseVersion).nupkg
253+ Microsoft.OpenApi.Hidi.$(HidiReleaseVersion).snupkg
254+ TargetFolder : ' $(Pipeline.Workspace)\nuget-packages\$(NuGetOrganizationName)\hidi'
255+ CleanTargetFolder : true
256+ - task : EsrpRelease@14
257+ displayName : ESRP Release - Hidi NuGet
258+ condition : and(succeeded(), ne(variables['nugetAlreadyPublished'], 'true'))
229259 inputs :
230- packagesToPush : ' $(Pipeline.Workspace)\hidi\Microsoft.OpenApi.Hidi.$(HidiReleaseVersion).nupkg'
231- nuGetFeedType : external
232- publishFeedCredentials : OpenAPI Nuget Connection
233- packageParentPath : ' $(Pipeline.Workspace)\hidi'
260+ connectedservicename : ' Federated DevX ESRP Managed Identity Connection'
261+ usemanagedidentity : false
262+ keyvaultname : ' akv-prod-eastus'
263+ authcertname : ' ReferenceLibraryPrivateCert'
264+ signcertname : ' ReferencePackagePublisherCertificate'
265+ clientid : ' 65035b7f-7357-4f29-bf25-c5ee5c3949f8'
266+ intent : ' packagedistribution'
267+ contenttype : ' NuGet'
268+ organizationname : ' $(NuGetOrganizationName)'
269+ contentsource : ' Folder'
270+ folderlocation : ' $(Pipeline.Workspace)\nuget-packages\$(NuGetOrganizationName)\hidi'
271+ waitforreleasecompletion : true
272+ owners : ' christiano@microsoft.com,ramsess@microsoft.com,gavinbarron@microsoft.com,jingjingjia@microsoft.com,peombwa@microsoft.com,treicys@microsoft.com'
273+ approvers : ' christiano@microsoft.com,ramsess@microsoft.com,gavinbarron@microsoft.com,jingjingjia@microsoft.com,peombwa@microsoft.com,treicys@microsoft.com'
274+ serviceendpointurl : ' https://api.esrp.microsoft.com/'
275+ mainpublisher : ' ESRPRELPACMAN'
276+ domaintenantid : ' cdc5aeea-15c5-4db6-b079-fcadd2505dc2'
234277 - task : GitHubRelease@1
235278 displayName : Attach signed hidi release artifacts
236279 inputs :
0 commit comments