forked from nosami/visualfsharp
-
Notifications
You must be signed in to change notification settings - Fork 3
/
.vsts-signed.yaml
152 lines (134 loc) · 5.53 KB
/
.vsts-signed.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
variables:
- group: DotNet-Blob-Feed
- name: SignType
value: real
- name: VisualStudioDropName
value: Products/$(System.TeamProject)/$(Build.Repository.Name)/$(Build.SourceBranchName)/$(Build.BuildNumber)
# Variables defined in yml cannot be overridden at queue time; instead overridable variables must be defined in the web UI.
# Commenting out until something like this is supported: https://github.com/Microsoft/azure-pipelines-yaml/pull/129
#variables:
#- name: SkipTests
# defaultValue: false
stages:
- stage: build
displayName: Build
jobs:
- job: Full_Signed
pool:
name: VSEng-MicroBuildVS2019
timeoutInMinutes: 300
variables:
BuildConfiguration: 'Release'
steps:
# Install Signing Plugin
- task: ms-vseng.MicroBuildTasks.30666190-6959-11e5-9f96-f56098202fef.MicroBuildSigningPlugin@1
displayName: Install Signing Plugin
inputs:
signType: real
esrpSigning: true
condition: and(succeeded(), ne(variables['SignType'], ''))
# Build
- script: eng\CIBuild.cmd
-configuration $(BuildConfiguration)
-testAll
-officialSkipTests $(SkipTests)
/p:OfficialBuildId=$(BUILD.BUILDNUMBER)
/p:VisualStudioDropName=$(VisualStudioDropName)
/p:DotNetSignType=$(SignType)
/p:DotNetPublishToBlobFeed=true
/p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
/p:DotNetPublishBlobFeedUrl=https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
/p:PublishToSymbolServer=true
/p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat)
/p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat)
displayName: Build
# Publish logs
- task: PublishBuildArtifacts@1
displayName: Publish Logs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\log\$(BuildConfiguration)'
ArtifactName: 'Build Diagnostic Files'
publishLocation: Container
continueOnError: true
condition: succeededOrFailed()
# Publish test results
- task: PublishBuildArtifacts@1
displayName: Publish Test Results
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\TestResults'
ArtifactName: 'Test Results'
publishLocation: Container
continueOnError: true
condition: and(succeededOrFailed(), ne(variables['SkipTests'], 'true'))
# Upload VSTS Drop
- task: ms-vseng.MicroBuildTasks.4305a8de-ba66-4d8b-b2d1-0dc4ecbbf5e8.MicroBuildUploadVstsDropFolder@1
displayName: Upload VSTS Drop
inputs:
DropName: $(VisualStudioDropName)
DropFolder: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(BuildConfiguration)\Insertion'
condition: succeeded()
# Publish an artifact that the RoslynInsertionTool is able to find by its name.
- task: PublishBuildArtifacts@1
displayName: Publish Artifact VSSetup
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(BuildConfiguration)\Insertion'
ArtifactName: 'VSSetup'
condition: succeeded()
# Archive NuGet packages to DevOps.
- task: PublishBuildArtifacts@1
displayName: Publish Artifact Packages
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\packages\$(BuildConfiguration)'
ArtifactName: 'Packages'
condition: succeeded()
# Publish nightly package to ADO
- task: PublishBuildArtifacts@1
displayName: Publish Artifact Nightly
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(BuildConfiguration)\VisualFSharpFull.vsix'
ArtifactName: 'Nightly'
condition: succeeded()
# Package publish
- task: PublishBuildArtifacts@1
displayName: Push Asset Manifests
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(BuildConfiguration)/AssetManifest'
ArtifactName: AssetManifests
continueOnError: true
condition: succeeded()
# Publish PackageArtifacts for Arcade verification
- task: PublishBuildArtifacts@1
displayName: Publish PackageArtifacts
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\packages\$(BuildConfiguration)\Shipping'
ArtifactName: 'PackageArtifacts'
condition: succeeded()
# Publish BlobArtifacts for Arcade verification
- task: PublishBuildArtifacts@1
displayName: Publish BlobArtifacts
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\packages\$(BuildConfiguration)\Shipping'
ArtifactName: 'BlobArtifacts'
condition: succeeded()
# Publish native PDBs for archiving
- task: PublishBuildArtifacts@1
displayName: Publish Artifact Symbols
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/SymStore/$(BuildConfiguration)'
ArtifactName: NativeSymbols
condition: succeeded()
# Execute cleanup tasks
- task: ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1
displayName: Execute cleanup tasks
condition: succeededOrFailed()
- template: /eng/common/templates/job/publish-build-assets.yml
parameters:
dependsOn:
- Full_Signed
pool:
vmImage: windows-2019
enablePublishBuildArtifacts: true
- template: eng/common/templates/post-build/post-build.yml
parameters:
# Symbol validation is not entirely reliable as of yet, so should be turned off until https://github.com/dotnet/arcade/issues/2871 is resolved.
enableSymbolValidation: false