Skip to content

Commit 3787d7e

Browse files
Merge pull request #19122 from dotnet/halter73/mega-merge
Merge branch release/3.1 --> master
2 parents b3e2dac + 3c40c64 commit 3787d7e

File tree

573 files changed

+11847
-6723
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

573 files changed

+11847
-6723
lines changed

.azure/pipelines/ci.yml

Lines changed: 75 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,27 @@ variables:
3232
- name: _DotNetValidationArtifactsCategory
3333
value: .NETCORE
3434
- ${{ if ne(variables['System.TeamProject'], 'internal') }}:
35+
- name: _UseHelixOpenQueues
36+
value: 'true'
3537
- name: _BuildArgs
3638
value: ''
3739
- name: _PublishArgs
3840
value: ''
3941
- name: _SignType
4042
value: ''
41-
- name: _UseHelixOpenQueues
42-
value: 'true'
43+
- name: _InternalRuntimeDownloadArgs
44+
value: ''
45+
- name: _InternalRuntimeDownloadCodeSignArgs
46+
value: ''
4347
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
48+
- group: DotNet-MSRC-Storage
49+
- name: _InternalRuntimeDownloadArgs
50+
value: -DotNetRuntimeSourceFeed https://dotnetclimsrc.blob.core.windows.net/dotnet -DotNetRuntimeSourceFeedKey $(dotnetclimsrc-read-sas-token-base64) /p:DotNetAssetRootAccessTokenSuffix='$(dotnetclimsrc-read-sas-token-base64)'
51+
# The code signing doesn't use the aspnet build scripts, so the msbuild parameers have
52+
# to be passed directly. This is awkward, since we pass the same info above, but we have
53+
# to have it in two different forms
54+
- name: _InternalRuntimeDownloadCodeSignArgs
55+
value: /p:DotNetRuntimeSourceFeed=https://dotnetclimsrc.blob.core.windows.net/dotnet /p:DotNetRuntimeSourceFeedKey=$(dotnetclimsrc-read-sas-token-base64)
4456
- group: DotNet-HelixApi-Access
4557
- name: _UseHelixOpenQueues
4658
value: 'false'
@@ -68,7 +80,7 @@ variables:
6880
- name: _BuildArgs
6981
value: ''
7082
- name: _SignType
71-
valule: test
83+
value: test
7284
- name: _PublishArgs
7385
value: ''
7486
# used for post-build phases, internal builds only
@@ -86,7 +98,15 @@ stages:
8698
jobDisplayName: Code check
8799
agentOs: Windows
88100
steps:
89-
- powershell: ./eng/scripts/CodeCheck.ps1 -ci
101+
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
102+
- task: PowerShell@2
103+
displayName: Setup Private Feeds Credentials
104+
inputs:
105+
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
106+
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
107+
env:
108+
Token: $(dn-bot-dnceng-artifact-feeds-rw)
109+
- powershell: ./eng/scripts/CodeCheck.ps1 -ci $(_InternalRuntimeDownloadArgs)
90110
displayName: Run eng/scripts/CodeCheck.ps1
91111
artifacts:
92112
- name: Code_Check_Logs
@@ -113,6 +133,14 @@ stages:
113133
# This is intentional to workaround https://github.com/dotnet/arcade/issues/1957 which always re-submits for code-signing, even
114134
# if they have already been signed. This results in slower builds due to re-submitting the same .nupkg many times for signing.
115135
# The sign settings have been configured to
136+
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
137+
- task: PowerShell@2
138+
displayName: Setup Private Feeds Credentials
139+
inputs:
140+
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
141+
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
142+
env:
143+
Token: $(dn-bot-dnceng-artifact-feeds-rw)
116144

117145
- script: ./build.cmd
118146
-ci
@@ -122,6 +150,7 @@ stages:
122150
-buildNative
123151
/bl:artifacts/log/build.x64.binlog
124152
$(_BuildArgs)
153+
$(_InternalRuntimeDownloadArgs)
125154
displayName: Build x64
126155

127156
# Build the x86 shared framework
@@ -137,6 +166,7 @@ stages:
137166
/p:OnlyPackPlatformSpecificPackages=true
138167
/bl:artifacts/log/build.x86.binlog
139168
$(_BuildArgs)
169+
$(_InternalRuntimeDownloadArgs)
140170
displayName: Build x86
141171

142172
# This is in a separate build step with -forceCoreMsbuild to workaround MAX_PATH limitations - https://github.com/Microsoft/msbuild/issues/53
@@ -145,6 +175,7 @@ stages:
145175
-pack
146176
-noBuildDeps
147177
$(_BuildArgs)
178+
$(_InternalRuntimeDownloadArgs)
148179
condition: ne(variables['Build.Reason'], 'PullRequest')
149180
displayName: Build SiteExtension
150181

@@ -171,6 +202,7 @@ stages:
171202
/p:AssetManifestFileName=aspnetcore-win-x64-x86.xml
172203
$(_BuildArgs)
173204
$(_PublishArgs)
205+
$(_InternalRuntimeDownloadArgs)
174206
/p:PublishInstallerBaseVersion=true
175207
displayName: Build Installers
176208

@@ -211,6 +243,7 @@ stages:
211243
/p:AssetManifestFileName=aspnetcore-win-arm.xml
212244
$(_BuildArgs)
213245
$(_PublishArgs)
246+
$(_InternalRuntimeDownloadArgs)
214247
installNodeJs: false
215248
installJdk: false
216249
artifacts:
@@ -237,6 +270,7 @@ stages:
237270
-p:AssetManifestFileName=aspnetcore-MacOS_x64.xml
238271
$(_BuildArgs)
239272
$(_PublishArgs)
273+
$(_InternalRuntimeDownloadArgs)
240274
installNodeJs: false
241275
installJdk: false
242276
artifacts:
@@ -257,6 +291,14 @@ stages:
257291
jobDisplayName: "Build: Linux x64"
258292
agentOs: Linux
259293
steps:
294+
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
295+
- task: Bash@3
296+
displayName: Setup Private Feeds Credentials
297+
inputs:
298+
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
299+
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
300+
env:
301+
Token: $(dn-bot-dnceng-artifact-feeds-rw)
260302
- script: ./build.sh
261303
--ci
262304
--arch x64
@@ -267,6 +309,7 @@ stages:
267309
-p:OnlyPackPlatformSpecificPackages=true
268310
-bl:artifacts/log/build.linux-x64.binlog
269311
$(_BuildArgs)
312+
$(_InternalRuntimeDownloadArgs)
270313
displayName: Run build.sh
271314
- script: |
272315
git clean -xfd src/**/obj/
@@ -280,7 +323,8 @@ stages:
280323
-p:BuildRuntimeArchive=false \
281324
-p:LinuxInstallerType=deb \
282325
-bl:artifacts/log/build.deb.binlog \
283-
$(_BuildArgs)
326+
$(_BuildArgs) \
327+
$(_InternalRuntimeDownloadArgs)
284328
displayName: Build Debian installers
285329
- script: |
286330
git clean -xfd src/**/obj/
@@ -296,7 +340,8 @@ stages:
296340
-bl:artifacts/log/build.rpm.binlog \
297341
-p:AssetManifestFileName=aspnetcore-Linux_x64.xml \
298342
$(_BuildArgs) \
299-
$(_PublishArgs)
343+
$(_PublishArgs) \
344+
$(_InternalRuntimeDownloadArgs)
300345
displayName: Build RPM installers
301346
installNodeJs: false
302347
installJdk: false
@@ -328,6 +373,7 @@ stages:
328373
-p:AssetManifestFileName=aspnetcore-Linux_arm.xml
329374
$(_BuildArgs)
330375
$(_PublishArgs)
376+
$(_InternalRuntimeDownloadArgs)
331377
installNodeJs: false
332378
installJdk: false
333379
artifacts:
@@ -358,6 +404,7 @@ stages:
358404
-p:AssetManifestFileName=aspnetcore-Linux_arm64.xml
359405
$(_BuildArgs)
360406
$(_PublishArgs)
407+
$(_InternalRuntimeDownloadArgs)
361408
installNodeJs: false
362409
installJdk: false
363410
artifacts:
@@ -391,6 +438,7 @@ stages:
391438
-p:AssetManifestFileName=aspnetcore-Linux_musl_x64.xml
392439
$(_BuildArgs)
393440
$(_PublishArgs)
441+
$(_InternalRuntimeDownloadArgs)
394442
installNodeJs: false
395443
installJdk: false
396444
artifacts:
@@ -424,6 +472,7 @@ stages:
424472
-p:AssetManifestFileName=aspnetcore-Linux_musl_arm64.xml
425473
$(_BuildArgs)
426474
$(_PublishArgs)
475+
$(_InternalRuntimeDownloadArgs)
427476
installNodeJs: false
428477
installJdk: false
429478
artifacts:
@@ -445,7 +494,7 @@ stages:
445494
jobDisplayName: "Test: Windows Server 2016 x64"
446495
agentOs: Windows
447496
isTestingJob: true
448-
buildArgs: -all -pack -test -BuildNative "/p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false"
497+
buildArgs: -all -pack -test -BuildNative "/p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
449498
beforeBuild:
450499
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
451500
displayName: Setup IISExpress test certificates and schema
@@ -481,7 +530,15 @@ stages:
481530
agentOs: Windows
482531
isTestingJob: true
483532
steps:
484-
- script: ./build.cmd -ci -all -pack
533+
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
534+
- task: PowerShell@2
535+
displayName: Setup Private Feeds Credentials
536+
inputs:
537+
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
538+
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
539+
env:
540+
Token: $(dn-bot-dnceng-artifact-feeds-rw)
541+
- script: ./build.cmd -ci -all -pack $(_InternalRuntimeDownloadArgs)
485542
displayName: Build Repo
486543
- script: ./src/ProjectTemplates/build.cmd -ci -pack -NoRestore -NoBuilddeps "/p:RunTemplateTests=true /bl:artifacts/log/template.pack.binlog"
487544
displayName: Pack Templates
@@ -508,7 +565,7 @@ stages:
508565
jobDisplayName: "Test: macOS 10.13"
509566
agentOs: macOS
510567
isTestingJob: true
511-
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true"
568+
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs)
512569
beforeBuild:
513570
- bash: "./eng/scripts/install-nginx-mac.sh"
514571
displayName: Installing Nginx
@@ -543,7 +600,7 @@ stages:
543600
jobDisplayName: "Test: Ubuntu 16.04 x64"
544601
agentOs: Linux
545602
isTestingJob: true
546-
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true"
603+
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs)
547604
beforeBuild:
548605
- bash: "./eng/scripts/install-nginx-linux.sh"
549606
displayName: Installing Nginx
@@ -656,6 +713,14 @@ stages:
656713
chmod +x $HOME/bin/jq
657714
echo "##vso[task.prependpath]$HOME/bin"
658715
displayName: Install jq
716+
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
717+
- task: Bash@3
718+
displayName: Setup Private Feeds Credentials
719+
inputs:
720+
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
721+
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
722+
env:
723+
Token: $(dn-bot-dnceng-artifact-feeds-rw)
659724
- script: ./eng/scripts/ci-source-build.sh --ci --configuration Release /p:BuildManaged=true /p:BuildNodeJs=false
660725
displayName: Run ci-source-build.sh
661726
- task: PublishBuildArtifacts@1

.azure/pipelines/jobs/codesign-xplat.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,14 @@ jobs:
2828
contents: '**/*.nupkg'
2929
targetFolder: $(Build.SourcesDirectory)/artifacts/packages/$(BuildConfiguration)/shipping/
3030
flattenFolders: true
31+
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
32+
- task: PowerShell@2
33+
displayName: Setup Private Feeds Credentials
34+
inputs:
35+
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
36+
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
37+
env:
38+
Token: $(dn-bot-dnceng-artifact-feeds-rw)
3139
- powershell: .\eng\common\build.ps1
3240
-ci
3341
-restore
@@ -39,6 +47,7 @@ jobs:
3947
/p:DotNetSignType=$(_SignType)
4048
$(_BuildArgs)
4149
$(_PublishArgs)
50+
$(_InternalRuntimeDownloadCodeSignArgs)
4251
displayName: Sign and publish packages
4352
artifacts:
4453
- name: CodeSign_Xplat_${{ parameters.inputName }}_Logs

.azure/pipelines/jobs/default-build.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,24 @@ jobs:
161161
- ${{ if ne(parameters.steps, '')}}:
162162
- ${{ parameters.steps }}
163163
- ${{ if eq(parameters.steps, '')}}:
164+
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
165+
- ${{ if eq(parameters.agentOs, 'Windows') }}:
166+
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
167+
- task: PowerShell@2
168+
displayName: Setup Private Feeds Credentials
169+
inputs:
170+
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
171+
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
172+
env:
173+
Token: $(dn-bot-dnceng-artifact-feeds-rw)
174+
- ${{ if ne(parameters.agentOs, 'Windows') }}:
175+
- task: Bash@3
176+
displayName: Setup Private Feeds Credentials
177+
inputs:
178+
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
179+
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
180+
env:
181+
Token: $(dn-bot-dnceng-artifact-feeds-rw)
164182
- ${{ if eq(parameters.buildScript, '') }}:
165183
- ${{ if eq(parameters.agentOs, 'Windows') }}:
166184
- script: .\$(BuildDirectory)\build.cmd -ci /p:DotNetSignType=$(_SignType) -Configuration $(BuildConfiguration) $(BuildScriptArgs)

Directory.Build.props

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,11 @@
9191
<RuntimeInstallerBaseName>aspnetcore-runtime</RuntimeInstallerBaseName>
9292
<TargetingPackInstallerBaseName>aspnetcore-targeting-pack</TargetingPackInstallerBaseName>
9393

94-
<!-- Used to only produce targeting pack installers/packages once per major.minor. -->
95-
<IsTargetingPackBuilding Condition="'$(AspNetCorePatchVersion)' != '0' OR '$(DotNetBuildFromSource)' == 'true'">false</IsTargetingPackBuilding>
94+
<!-- Produce targeting pack installers/packages once per major.minor. -->
95+
<IsTargetingPackBuilding Condition=" '$(DotNetBuildFromSource)' == 'true' ">false</IsTargetingPackBuilding>
96+
<IsTargetingPackBuilding
97+
Condition=" '$(IsTargetingPackBuilding)' == '' AND '$(AspNetCorePatchVersion)' != '0' ">false</IsTargetingPackBuilding>
98+
<IsTargetingPackBuilding Condition=" '$(IsTargetingPackBuilding)' == '' ">true</IsTargetingPackBuilding>
9699

97100
<!--
98101
Archives and installers using this prefix are intended for internal-use only.
@@ -179,7 +182,6 @@
179182

180183
<Import Project="eng\Workarounds.props" />
181184
<Import Project="eng\Dependencies.props" />
182-
<Import Project="eng\PatchConfig.props" />
183185
<Import Project="eng\ProjectReferences.props" />
184186
<Import Project="eng\SharedFramework.Local.props" />
185187
<Import Project="eng\SharedFramework.External.props" />

0 commit comments

Comments
 (0)