Skip to content

Commit b06f85d

Browse files
committed
ci: fixes nuget deploy due to cfs lock-down
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
1 parent 25f1974 commit b06f85d

2 files changed

Lines changed: 42 additions & 33 deletions

File tree

.azure-pipelines/ci-build.yml

Lines changed: 35 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -71,33 +71,23 @@ extends:
7171
inputs:
7272
useGlobalJson: true
7373

74-
# Install the nuget tool.
75-
- task: NuGetToolInstaller@1
76-
displayName: 'Use NuGet >=6.11.0'
77-
inputs:
78-
versionSpec: '>=6.11.0'
79-
checkLatest: true
80-
8174
# Build the Product project
8275
- task: NuGetAuthenticate@1
8376
displayName: 'Authenticate to Azure Artifacts'
8477

85-
- pwsh: |
86-
@"
87-
<?xml version="1.0" encoding="utf-8"?>
88-
<configuration>
89-
<packageSources>
90-
<clear />
91-
<add key="GraphDeveloperExperiences_Public" value="https://microsoftgraph.pkgs.visualstudio.com/0985d294-5762-4bc2-a565-161ef349ca3e/_packaging/GraphDeveloperExperiences_Public/nuget/v3/index.json" />
92-
</packageSources>
93-
</configuration>
94-
"@ | Set-Content -Path "$(Build.SourcesDirectory)/nuget.config" -Encoding UTF8
95-
displayName: 'Create nuget.config (central feed)'
78+
- task: DotNetCoreCLI@2
79+
displayName: 'restore'
80+
inputs:
81+
command: restore
82+
projects: '$(Build.SourcesDirectory)\Microsoft.OpenApi.slnx'
83+
feedsToUse: config
84+
nugetConfigPath: '$(Build.SourcesDirectory)\nuget.config'
85+
9686
- task: DotNetCoreCLI@2
9787
displayName: 'build'
9888
inputs:
9989
projects: '$(Build.SourcesDirectory)\Microsoft.OpenApi.slnx'
100-
arguments: '--configuration $(BuildConfiguration) --no-incremental'
90+
arguments: '--configuration $(BuildConfiguration) --no-incremental --no-restore'
10191

10292
# Run the Unit test
10393
- task: DotNetCoreCLI@2
@@ -162,15 +152,15 @@ extends:
162152
PendingAnalysisWaitTimeoutMinutes: '5'
163153

164154
# Pack core lib
165-
- pwsh: dotnet pack $(Build.SourcesDirectory)/src/Microsoft.OpenApi/Microsoft.OpenApi.csproj -o $(Build.ArtifactStagingDirectory) --configuration $(BuildConfiguration) --no-build --include-symbols --include-source /p:SymbolPackageFormat=snupkg
155+
- pwsh: dotnet pack $(Build.SourcesDirectory)/src/Microsoft.OpenApi/Microsoft.OpenApi.csproj -o $(Build.ArtifactStagingDirectory) --configuration $(BuildConfiguration) --no-build --no-restore --include-symbols --include-source /p:SymbolPackageFormat=snupkg
166156
displayName: 'pack OpenAPI'
167157

168158
# Pack YamlReader
169-
- pwsh: dotnet pack $(Build.SourcesDirectory)/src/Microsoft.OpenApi.YamlReader/Microsoft.OpenApi.YamlReader.csproj -o $(Build.ArtifactStagingDirectory) --configuration $(BuildConfiguration) --no-build --include-symbols --include-source /p:SymbolPackageFormat=snupkg
159+
- pwsh: dotnet pack $(Build.SourcesDirectory)/src/Microsoft.OpenApi.YamlReader/Microsoft.OpenApi.YamlReader.csproj -o $(Build.ArtifactStagingDirectory) --configuration $(BuildConfiguration) --no-build --no-restore --include-symbols --include-source /p:SymbolPackageFormat=snupkg
170160
displayName: 'pack YamlReader'
171161

172162
# Pack hidi
173-
- pwsh: dotnet pack $(Build.SourcesDirectory)/src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj -o $(Build.ArtifactStagingDirectory) --configuration $(BuildConfiguration) --no-build --include-symbols --include-source /p:SymbolPackageFormat=snupkg
163+
- pwsh: dotnet pack $(Build.SourcesDirectory)/src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj -o $(Build.ArtifactStagingDirectory) --configuration $(BuildConfiguration) --no-build --no-restore --include-symbols --include-source /p:SymbolPackageFormat=snupkg
174164
displayName: 'pack Hidi'
175165

176166
- task: EsrpCodeSigning@5
@@ -212,7 +202,7 @@ extends:
212202
displayName: publish Hidi as executable
213203
inputs:
214204
command: 'publish'
215-
arguments: -c Release --runtime win-x64 /p:PublishSingleFile=true /p:PackAsTool=false --self-contained --output $(Build.ArtifactStagingDirectory)/Microsoft.OpenApi.Hidi
205+
arguments: -c Release --runtime win-x64 -p:RestoreConfigFile=$(Build.SourcesDirectory)\nuget.config /p:PublishSingleFile=true /p:PackAsTool=false --self-contained --output $(Build.ArtifactStagingDirectory)/Microsoft.OpenApi.Hidi
216206
projects: 'src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj'
217207
publishWebProjects: False
218208
zipAfterPublish: false
@@ -252,7 +242,7 @@ extends:
252242
inputs:
253243
- input: pipelineArtifact
254244
artifactName: Nugets
255-
targetPath: '$(Pipeline.Workspace)'
245+
targetPath: '$(Pipeline.Workspace)/Nugets'
256246
dependsOn: []
257247
environment: nuget-org
258248
strategy:
@@ -264,10 +254,14 @@ extends:
264254
- task: 1ES.PublishNuget@1
265255
displayName: 'NuGet push'
266256
inputs:
267-
packagesToPush: '$(Pipeline.Workspace)/Microsoft.OpenApi.Hidi.*.nupkg'
268-
packageParentPath: '$(Pipeline.Workspace)'
257+
useDotNetTask: true
258+
packagesToPush: '$(Pipeline.Workspace)/Nugets/Microsoft.OpenApi.Hidi.*.nupkg'
259+
packageParentPath: '$(Pipeline.Workspace)/Nugets'
269260
nuGetFeedType: external
270261
publishFeedCredentials: 'OpenAPI Nuget Connection'
262+
publishPackageMetadata: true
263+
requestTimeout: 600000
264+
retryCountOnTaskFailure: 2
271265

272266
- deployment: deploy_lib
273267
condition: and(contains(variables['build.SourceBranch'], 'refs/tags/v'), succeeded())
@@ -277,7 +271,7 @@ extends:
277271
inputs:
278272
- input: pipelineArtifact
279273
artifactName: Nugets
280-
targetPath: '$(Pipeline.Workspace)'
274+
targetPath: '$(Pipeline.Workspace)/Nugets'
281275
dependsOn: []
282276
environment: nuget-org
283277
strategy:
@@ -287,7 +281,7 @@ extends:
287281
vmImage: ubuntu-latest
288282
steps:
289283
- pwsh: |
290-
$fileNames = "$(Pipeline.Workspace)/Microsoft.OpenApi.Hidi.*.nupkg", "$(Pipeline.Workspace)/Microsoft.OpenApi.YamlReader.*.nupkg", "$(Pipeline.Workspace)/Microsoft.OpenApi.Workbench.*.nupkg"
284+
$fileNames = "$(Pipeline.Workspace)/Nugets/Microsoft.OpenApi.Hidi.*.nupkg", "$(Pipeline.Workspace)/Nugets/Microsoft.OpenApi.YamlReader.*.nupkg", "$(Pipeline.Workspace)/Nugets/Microsoft.OpenApi.Workbench.*.nupkg"
291285
foreach($fileName in $fileNames) {
292286
if(Test-Path $fileName) {
293287
Remove-Item $fileName -Verbose
@@ -297,10 +291,14 @@ extends:
297291
- task: 1ES.PublishNuget@1
298292
displayName: 'NuGet push'
299293
inputs:
300-
packagesToPush: '$(Pipeline.Workspace)/Microsoft.OpenApi.*.nupkg'
301-
packageParentPath: '$(Pipeline.Workspace)'
294+
useDotNetTask: true
295+
packagesToPush: '$(Pipeline.Workspace)/Nugets/Microsoft.OpenApi.*.nupkg'
296+
packageParentPath: '$(Pipeline.Workspace)/Nugets'
302297
nuGetFeedType: external
303298
publishFeedCredentials: 'OpenAPI Nuget Connection'
299+
publishPackageMetadata: true
300+
requestTimeout: 600000
301+
retryCountOnTaskFailure: 2
304302

305303
- deployment: deploy_yaml_reader
306304
condition: and(contains(variables['build.SourceBranch'], 'refs/tags/v'), succeeded())
@@ -310,7 +308,7 @@ extends:
310308
inputs:
311309
- input: pipelineArtifact
312310
artifactName: Nugets
313-
targetPath: '$(Pipeline.Workspace)'
311+
targetPath: '$(Pipeline.Workspace)/Nugets'
314312
dependsOn: deploy_lib
315313
environment: nuget-org
316314
strategy:
@@ -322,10 +320,14 @@ extends:
322320
- task: 1ES.PublishNuget@1
323321
displayName: 'NuGet push'
324322
inputs:
325-
packagesToPush: '$(Pipeline.Workspace)/Microsoft.OpenApi.YamlReader.*.nupkg'
326-
packageParentPath: '$(Pipeline.Workspace)'
323+
useDotNetTask: true
324+
packagesToPush: '$(Pipeline.Workspace)/Nugets/Microsoft.OpenApi.YamlReader.*.nupkg'
325+
packageParentPath: '$(Pipeline.Workspace)/Nugets'
327326
nuGetFeedType: external
328327
publishFeedCredentials: 'OpenAPI Nuget Connection'
328+
publishPackageMetadata: true
329+
requestTimeout: 600000
330+
retryCountOnTaskFailure: 2
329331

330332
- deployment: create_github_release
331333
condition: and(contains(variables['build.SourceBranch'], 'refs/tags/v'), succeeded())

nuget.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<configuration>
3+
<packageSources>
4+
<clear />
5+
<add key="GraphDeveloperExperiences_Public" value="https://microsoftgraph.pkgs.visualstudio.com/0985d294-5762-4bc2-a565-161ef349ca3e/_packaging/GraphDeveloperExperiences_Public/nuget/v3/index.json" />
6+
</packageSources>
7+
</configuration>

0 commit comments

Comments
 (0)