Skip to content

Commit e086149

Browse files
brettfoKevinRansom
authored andcommitted
save the contents of the NuGet package cache as a build artifact (#8303)
1 parent 1a695c9 commit e086149

File tree

2 files changed

+58
-0
lines changed

2 files changed

+58
-0
lines changed

azure-pipelines.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,14 @@ stages:
187187
publishLocation: Container
188188
continueOnError: true
189189
condition: eq(variables['_testKind'], 'testFSharpQA')
190+
- task: PublishBuildArtifacts@1
191+
displayName: Publish NuGet cache contents
192+
inputs:
193+
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\NugetPackageRootContents'
194+
ArtifactName: 'NuGetPackageContents Windows $(_testKind)'
195+
publishLocation: Container
196+
continueOnError: true
197+
condition: always()
190198

191199
# Linux
192200
- job: Linux
@@ -208,6 +216,14 @@ stages:
208216
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
209217
continueOnError: true
210218
condition: always()
219+
- task: PublishBuildArtifacts@1
220+
displayName: Publish NuGet cache contents
221+
inputs:
222+
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/NugetPackageRootContents'
223+
ArtifactName: 'NuGetPackageContents Linux'
224+
publishLocation: Container
225+
continueOnError: true
226+
condition: always()
211227

212228
# MacOS
213229
- job: MacOS
@@ -229,6 +245,14 @@ stages:
229245
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
230246
continueOnError: true
231247
condition: always()
248+
- task: PublishBuildArtifacts@1
249+
displayName: Publish NuGet cache contents
250+
inputs:
251+
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/NugetPackageRootContents'
252+
ArtifactName: 'NuGetPackageContents Mac'
253+
publishLocation: Container
254+
continueOnError: true
255+
condition: always()
232256

233257
# Source Build Linux
234258
- job: SourceBuild_Linux
@@ -239,6 +263,14 @@ stages:
239263
clean: true
240264
- script: ./eng/cibuild.sh --configuration Release /p:DotNetBuildFromSource=true /p:FSharpSourceBuild=true
241265
displayName: Build
266+
- task: PublishBuildArtifacts@1
267+
displayName: Publish NuGet cache contents
268+
inputs:
269+
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/NugetPackageRootContents'
270+
ArtifactName: 'NuGetPackageContents SourceBuild_Linux'
271+
publishLocation: Container
272+
continueOnError: true
273+
condition: always()
242274

243275
# Source Build Windows
244276
- job: SourceBuild_Windows
@@ -249,6 +281,14 @@ stages:
249281
clean: true
250282
- script: eng\CIBuild.cmd -configuration Release -noSign /p:DotNetBuildFromSource=true /p:FSharpSourceBuild=true
251283
displayName: Build
284+
- task: PublishBuildArtifacts@1
285+
displayName: Publish NuGet cache contents
286+
inputs:
287+
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\NugetPackageRootContents'
288+
ArtifactName: 'NuGetPackageContents SourceBuild_Windows'
289+
publishLocation: Container
290+
continueOnError: true
291+
condition: always()
252292

253293
# Up-to-date
254294
- job: UpToDate_Windows

eng/AfterSolutionBuild.targets

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<Project>
2+
3+
<!-- Used as a diagnostic tool to view the state of the NuGet package cache as it existed immediately after a restore/build. -->
4+
5+
<ItemGroup>
6+
<PackageRootFiles Include="$(NuGetPackageRoot)/**" />
7+
</ItemGroup>
8+
9+
<Target Name="_DumpPackageRootDirectoryListing"
10+
AfterTargets="Build">
11+
<PropertyGroup>
12+
<PackageRootArtifactDirectory>$(ArtifactsDir)NugetPackageRootContents</PackageRootArtifactDirectory>
13+
<PackageRootContentsFile>$(PackageRootArtifactDirectory)/package_contents.txt</PackageRootContentsFile>
14+
</PropertyGroup>
15+
<MakeDir Directories="$(PackageRootArtifactDirectory)" Condition="!Exists('$(PackageRootArtifactDirectory)')" />
16+
<WriteLinesToFile File="$(PackageRootContentsFile)" Lines="@(PackageRootFiles)" />
17+
</Target>
18+
</Project>

0 commit comments

Comments
 (0)