@@ -32,13 +32,50 @@ variables:
32
32
value : .NETCORE
33
33
- name : _DotNetValidationArtifactsCategory
34
34
value : .NETCORE
35
- - ${{ if ne(variables['System.TeamProject'], 'internal') }} :
36
- - name : _UseHelixOpenQueues
37
- value : ' true'
35
+ - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }} :
36
+ - name : _BuildArgs
37
+ value : /p:TeamName=$(_TeamName)
38
+ /p:OfficialBuildId=$(Build.BuildNumber)
39
+ /p:SkipTestBuild=true
40
+ # DotNet-Blob-Feed provides: dotnetfeed-storage-access-key-1
41
+ # Publish-Build-Assets provides: MaestroAccessToken, BotAccount-dotnet-maestro-bot-PAT
42
+ - group : DotNet-Blob-Feed
43
+ - group : Publish-Build-Assets
44
+ # The following extra properties are not set when testing. Use with final build.[cmd,sh] of asset-producing jobs.
45
+ - name : _PublishArgs
46
+ value : /p:Publish=true
47
+ /p:GenerateChecksums=true
48
+ /p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
49
+ /p:DotNetPublishBlobFeedUrl=https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
50
+ /p:DotNetPublishToBlobFeed=$(_DotNetPublishToBlobFeed)
51
+ /p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
52
+ /p:DotNetArtifactsCategory=$(_DotNetArtifactsCategory)
53
+ # Do not log most Windows steps in official builds; this is the slowest job. Site extensions step always logs.
54
+ - name : Windows64LogArgs
55
+ value : -ExcludeCIBinaryLog
56
+ - name : Windows86LogArgs
57
+ value : -ExcludeCIBinaryLog
58
+ - name : WindowsSignLogArgs
59
+ value : -ExcludeCIBinaryLog
60
+ - name : WindowsInstallersLogArgs
61
+ value : -ExcludeCIBinaryLog
62
+ - ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }} :
38
63
- name : _BuildArgs
39
64
value : ' /p:SkipTestBuild=true'
40
65
- name : _PublishArgs
41
66
value : ' '
67
+ # Write binary logs for all main Windows build steps except the x86 one in public and PR builds.
68
+ - name : Windows64LogArgs
69
+ value : /bl:artifacts/log/Release/Build.x64.binlog
70
+ - name : Windows86LogArgs
71
+ value : -ExcludeCIBinaryLog
72
+ - name : WindowsSignLogArgs
73
+ value : /bl:artifacts/log/Release/Build.CodeSign.binlog
74
+ - name : WindowsInstallersLogArgs
75
+ value : /bl:artifacts/log/Release/Build.Installers.binlog
76
+ - ${{ if ne(variables['System.TeamProject'], 'internal') }} :
77
+ - name : _UseHelixOpenQueues
78
+ value : ' true'
42
79
- name : _SignType
43
80
value : ' '
44
81
- name : _InternalRuntimeDownloadArgs
@@ -59,35 +96,11 @@ variables:
59
96
- name : _UseHelixOpenQueues
60
97
value : ' false'
61
98
- ${{ if notin(variables['Build.Reason'], 'PullRequest') }} :
62
- # DotNet-Blob-Feed provides: dotnetfeed-storage-access-key-1
63
- # Publish-Build-Assets provides: MaestroAccessToken, BotAccount-dotnet-maestro-bot-PAT
64
- - group : DotNet-Blob-Feed
65
- - group : Publish-Build-Assets
66
-
67
- - name : _BuildArgs
68
- value : /p:TeamName=$(_TeamName)
69
- /p:OfficialBuildId=$(Build.BuildNumber)
70
- /p:SkipTestBuild=true
71
99
- name : _SignType
72
100
value : real
73
-
74
- # The following extra properties are not set when testing. Use with final build.[cmd,sh] of asset-producing jobs.
75
- - name : _PublishArgs
76
- value : /p:Publish=true
77
- /p:GenerateChecksums=true
78
- /p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
79
- /p:DotNetPublishBlobFeedUrl=https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
80
- /p:DotNetPublishToBlobFeed=$(_DotNetPublishToBlobFeed)
81
- /p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
82
- /p:DotNetArtifactsCategory=$(_DotNetArtifactsCategory)
83
-
84
101
- ${{ if in(variables['Build.Reason'], 'PullRequest') }} :
85
- - name : _BuildArgs
86
- value : ' /p:SkipTestBuild=true'
87
102
- name : _SignType
88
103
value : test
89
- - name : _PublishArgs
90
- value : ' '
91
104
92
105
stages :
93
106
- stage : build
@@ -130,19 +143,18 @@ stages:
130
143
# The sign settings have been configured to
131
144
- script : ./build.cmd
132
145
-ci
133
- -nobl
134
146
-arch x64
135
147
-pack
136
148
-all
137
149
$(_BuildArgs)
138
150
$(_InternalRuntimeDownloadArgs)
151
+ $(Windows64LogArgs)
139
152
displayName : Build x64
140
153
141
154
# Build the x86 shared framework
142
155
# This is going to actually build x86 native assets.
143
156
- script : ./build.cmd
144
157
-ci
145
- -nobl
146
158
-noBuildRepoTasks
147
159
-arch x86
148
160
-pack
@@ -152,11 +164,11 @@ stages:
152
164
/p:OnlyPackPlatformSpecificPackages=true
153
165
$(_BuildArgs)
154
166
$(_InternalRuntimeDownloadArgs)
167
+ $(Windows86LogArgs)
155
168
displayName : Build x86
156
169
157
170
- script : .\src\SiteExtensions\build.cmd
158
171
-ci
159
- -nobl
160
172
-noBuildRepoTasks
161
173
-pack
162
174
-noBuildDeps
@@ -171,19 +183,19 @@ stages:
171
183
# previous steps. Sign check is disabled because it is run in a separate step below, after installers are built.
172
184
- script : ./build.cmd
173
185
-ci
174
- -nobl
175
186
-noBuildRepoTasks
187
+ -noBuildNative
176
188
-noBuild
177
189
-noRestore
178
190
-sign
179
191
/p:DotNetSignType=$(_SignType)
180
192
$(_BuildArgs)
193
+ $(WindowsSignLogArgs)
181
194
displayName : Code sign packages
182
195
183
196
# Windows installers bundle both x86 and x64 assets
184
197
- script : ./build.cmd
185
198
-ci
186
- -nobl
187
199
-noBuildRepoTasks
188
200
-sign
189
201
-buildInstallers
@@ -194,6 +206,7 @@ stages:
194
206
$(_PublishArgs)
195
207
$(_InternalRuntimeDownloadArgs)
196
208
/p:PublishInstallerBaseVersion=true
209
+ $(WindowsInstallersLogArgs)
197
210
displayName : Build Installers
198
211
199
212
# A few files must also go to the VS package feed.
@@ -313,7 +326,6 @@ stages:
313
326
steps :
314
327
- script : ./build.sh
315
328
--ci
316
- --nobl
317
329
--arch x64
318
330
--pack
319
331
--all
0 commit comments