Skip to content

Commit 88073f8

Browse files
committed
Merge branch 'release/3.1' into master
2 parents b6d433c + 7fc314f commit 88073f8

File tree

514 files changed

+14638
-6402
lines changed

Some content is hidden

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

514 files changed

+14638
-6402
lines changed

.azure/pipelines/ci.yml

Lines changed: 85 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,19 @@ variables:
3838
value: ''
3939
- name: _SignType
4040
value: ''
41+
- name: _InternalRuntimeDownloadArgs
42+
value: ''
43+
- name: _InternalRuntimeDownloadCodeSignArgs
44+
value: ''
45+
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
46+
- group: DotNet-MSRC-Storage
47+
- name: _InternalRuntimeDownloadArgs
48+
value: -DotNetRuntimeSourceFeed https://dotnetclimsrc.blob.core.windows.net/dotnet -DotNetRuntimeSourceFeedKey $(dotnetclimsrc-read-sas-token-base64) /p:DotNetAssetRootAccessTokenSuffix='$(dotnetclimsrc-read-sas-token-base64)'
49+
# The code signing doesn't use the aspnet build scripts, so the msbuild parameers have
50+
# to be passed directly. This is awkward, since we pass the same info above, but we have
51+
# to have it in two different forms
52+
- name: _InternalRuntimeDownloadCodeSignArgs
53+
value: /p:DotNetRuntimeSourceFeed=https://dotnetclimsrc.blob.core.windows.net/dotnet /p:DotNetRuntimeSourceFeedKey=$(dotnetclimsrc-read-sas-token-base64)
4154
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
4255
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
4356
# DotNet-Blob-Feed provides: dotnetfeed-storage-access-key-1
@@ -63,7 +76,7 @@ variables:
6376
- name: _BuildArgs
6477
value: ''
6578
- name: _SignType
66-
valule: test
79+
value: test
6780
- name: _PublishArgs
6881
value: ''
6982
# used for post-build phases, internal builds only
@@ -81,7 +94,15 @@ stages:
8194
jobDisplayName: Code check
8295
agentOs: Windows
8396
steps:
84-
- powershell: ./eng/scripts/CodeCheck.ps1 -ci
97+
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
98+
- task: PowerShell@2
99+
displayName: Setup Private Feeds Credentials
100+
inputs:
101+
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
102+
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
103+
env:
104+
Token: $(dn-bot-dnceng-artifact-feeds-rw)
105+
- powershell: ./eng/scripts/CodeCheck.ps1 -ci $(_InternalRuntimeDownloadArgs)
85106
displayName: Run eng/scripts/CodeCheck.ps1
86107
artifacts:
87108
- name: Code_Check_Logs
@@ -108,6 +129,14 @@ stages:
108129
# This is intentional to workaround https://github.com/dotnet/arcade/issues/1957 which always re-submits for code-signing, even
109130
# if they have already been signed. This results in slower builds due to re-submitting the same .nupkg many times for signing.
110131
# The sign settings have been configured to
132+
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
133+
- task: PowerShell@2
134+
displayName: Setup Private Feeds Credentials
135+
inputs:
136+
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
137+
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
138+
env:
139+
Token: $(dn-bot-dnceng-artifact-feeds-rw)
111140

112141
- script: ./build.cmd
113142
-ci
@@ -117,6 +146,7 @@ stages:
117146
-buildNative
118147
/bl:artifacts/log/build.x64.binlog
119148
$(_BuildArgs)
149+
$(_InternalRuntimeDownloadArgs)
120150
displayName: Build x64
121151

122152
# Build the x86 shared framework
@@ -132,6 +162,7 @@ stages:
132162
/p:OnlyPackPlatformSpecificPackages=true
133163
/bl:artifacts/log/build.x86.binlog
134164
$(_BuildArgs)
165+
$(_InternalRuntimeDownloadArgs)
135166
displayName: Build x86
136167

137168
# This is in a separate build step with -forceCoreMsbuild to workaround MAX_PATH limitations - https://github.com/Microsoft/msbuild/issues/53
@@ -140,6 +171,7 @@ stages:
140171
-pack
141172
-noBuildDeps
142173
$(_BuildArgs)
174+
$(_InternalRuntimeDownloadArgs)
143175
condition: ne(variables['Build.Reason'], 'PullRequest')
144176
displayName: Build SiteExtension
145177

@@ -166,6 +198,7 @@ stages:
166198
/p:AssetManifestFileName=aspnetcore-win-x64-x86.xml
167199
$(_BuildArgs)
168200
$(_PublishArgs)
201+
$(_InternalRuntimeDownloadArgs)
169202
/p:PublishInstallerBaseVersion=true
170203
displayName: Build Installers
171204

@@ -206,6 +239,7 @@ stages:
206239
/p:AssetManifestFileName=aspnetcore-win-arm.xml
207240
$(_BuildArgs)
208241
$(_PublishArgs)
242+
$(_InternalRuntimeDownloadArgs)
209243
installNodeJs: false
210244
installJdk: false
211245
artifacts:
@@ -232,6 +266,7 @@ stages:
232266
-p:AssetManifestFileName=aspnetcore-MacOS_x64.xml
233267
$(_BuildArgs)
234268
$(_PublishArgs)
269+
$(_InternalRuntimeDownloadArgs)
235270
installNodeJs: false
236271
installJdk: false
237272
artifacts:
@@ -252,6 +287,14 @@ stages:
252287
jobDisplayName: "Build: Linux x64"
253288
agentOs: Linux
254289
steps:
290+
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
291+
- task: Bash@3
292+
displayName: Setup Private Feeds Credentials
293+
inputs:
294+
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
295+
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
296+
env:
297+
Token: $(dn-bot-dnceng-artifact-feeds-rw)
255298
- script: ./build.sh
256299
--ci
257300
--arch x64
@@ -262,6 +305,7 @@ stages:
262305
-p:OnlyPackPlatformSpecificPackages=true
263306
-bl:artifacts/log/build.linux-x64.binlog
264307
$(_BuildArgs)
308+
$(_InternalRuntimeDownloadArgs)
265309
displayName: Run build.sh
266310
- script: |
267311
git clean -xfd src/**/obj/
@@ -275,7 +319,8 @@ stages:
275319
-p:BuildRuntimeArchive=false \
276320
-p:LinuxInstallerType=deb \
277321
-bl:artifacts/log/build.deb.binlog \
278-
$(_BuildArgs)
322+
$(_BuildArgs) \
323+
$(_InternalRuntimeDownloadArgs)
279324
displayName: Build Debian installers
280325
- script: |
281326
git clean -xfd src/**/obj/
@@ -291,7 +336,8 @@ stages:
291336
-bl:artifacts/log/build.rpm.binlog \
292337
-p:AssetManifestFileName=aspnetcore-Linux_x64.xml \
293338
$(_BuildArgs) \
294-
$(_PublishArgs)
339+
$(_PublishArgs) \
340+
$(_InternalRuntimeDownloadArgs)
295341
displayName: Build RPM installers
296342
installNodeJs: false
297343
installJdk: false
@@ -323,6 +369,7 @@ stages:
323369
-p:AssetManifestFileName=aspnetcore-Linux_arm.xml
324370
$(_BuildArgs)
325371
$(_PublishArgs)
372+
$(_InternalRuntimeDownloadArgs)
326373
installNodeJs: false
327374
installJdk: false
328375
artifacts:
@@ -353,6 +400,7 @@ stages:
353400
-p:AssetManifestFileName=aspnetcore-Linux_arm64.xml
354401
$(_BuildArgs)
355402
$(_PublishArgs)
403+
$(_InternalRuntimeDownloadArgs)
356404
installNodeJs: false
357405
installJdk: false
358406
artifacts:
@@ -386,6 +434,7 @@ stages:
386434
-p:AssetManifestFileName=aspnetcore-Linux_musl_x64.xml
387435
$(_BuildArgs)
388436
$(_PublishArgs)
437+
$(_InternalRuntimeDownloadArgs)
389438
installNodeJs: false
390439
installJdk: false
391440
artifacts:
@@ -419,6 +468,7 @@ stages:
419468
-p:AssetManifestFileName=aspnetcore-Linux_musl_arm64.xml
420469
$(_BuildArgs)
421470
$(_PublishArgs)
471+
$(_InternalRuntimeDownloadArgs)
422472
installNodeJs: false
423473
installJdk: false
424474
artifacts:
@@ -440,7 +490,7 @@ stages:
440490
jobDisplayName: "Test: Windows Server 2016 x64"
441491
agentOs: Windows
442492
isTestingJob: true
443-
buildArgs: -all -pack -test -BuildNative "/p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false"
493+
buildArgs: -all -pack -test -BuildNative "/p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
444494
beforeBuild:
445495
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
446496
displayName: Setup IISExpress test certificates and schema
@@ -476,7 +526,15 @@ stages:
476526
agentOs: Windows
477527
isTestingJob: true
478528
steps:
479-
- script: ./build.cmd -ci -all -pack
529+
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
530+
- task: PowerShell@2
531+
displayName: Setup Private Feeds Credentials
532+
inputs:
533+
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
534+
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
535+
env:
536+
Token: $(dn-bot-dnceng-artifact-feeds-rw)
537+
- script: ./build.cmd -ci -all -pack $(_InternalRuntimeDownloadArgs)
480538
displayName: Build Repo
481539
- script: ./src/ProjectTemplates/build.cmd -ci -pack -NoRestore -NoBuilddeps "/p:RunTemplateTests=true /bl:artifacts/log/template.pack.binlog"
482540
displayName: Pack Templates
@@ -503,7 +561,7 @@ stages:
503561
jobDisplayName: "Test: macOS 10.13"
504562
agentOs: macOS
505563
isTestingJob: true
506-
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true"
564+
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs)
507565
beforeBuild:
508566
- bash: "./eng/scripts/install-nginx-mac.sh"
509567
displayName: Installing Nginx
@@ -538,7 +596,7 @@ stages:
538596
jobDisplayName: "Test: Ubuntu 16.04 x64"
539597
agentOs: Linux
540598
isTestingJob: true
541-
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true"
599+
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs)
542600
beforeBuild:
543601
- bash: "./eng/scripts/install-nginx-linux.sh"
544602
displayName: Installing Nginx
@@ -647,6 +705,25 @@ stages:
647705
chmod +x $HOME/bin/jq
648706
echo "##vso[task.prependpath]$HOME/bin"
649707
displayName: Install jq
708+
- task: UseDotNet@2
709+
displayName: 'Use .NET Core sdk'
710+
inputs:
711+
packageType: sdk
712+
# The SDK version selected here is intentionally supposed to use the latest release
713+
# For the purpose of building Linux distros, we can't depend on features of the SDK
714+
# which may not exist in pre-built versions of the SDK
715+
# Pinning to preview 8 since preview 9 has breaking changes
716+
version: 3.1.100
717+
installationPath: $(DotNetCoreSdkDir)
718+
includePreviewVersions: true
719+
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
720+
- task: Bash@3
721+
displayName: Setup Private Feeds Credentials
722+
inputs:
723+
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
724+
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
725+
env:
726+
Token: $(dn-bot-dnceng-artifact-feeds-rw)
650727
- script: ./eng/scripts/ci-source-build.sh --ci --configuration Release /p:BuildManaged=true /p:BuildNodeJs=false
651728
displayName: Run ci-source-build.sh
652729
- 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: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,14 @@
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 except in extraordinary cases i.e. 3.1.2. -->
95+
<!-- We can remove the 3.1.2 line from any branch other than release/3.1 and from here after 3.1.2 is released. -->
96+
<IsTargetingPackBuilding Condition=" '$(DotNetBuildFromSource)' == 'true' ">false</IsTargetingPackBuilding>
97+
<IsTargetingPackBuilding
98+
Condition=" '$(IsTargetingPackBuilding)' == '' AND '$(VersionPrefix)' == '3.1.2' ">true</IsTargetingPackBuilding>
99+
<IsTargetingPackBuilding
100+
Condition=" '$(IsTargetingPackBuilding)' == '' AND '$(AspNetCorePatchVersion)' != '0' ">false</IsTargetingPackBuilding>
101+
<IsTargetingPackBuilding Condition=" '$(IsTargetingPackBuilding)' == '' ">true</IsTargetingPackBuilding>
96102

97103
<!--
98104
Archives and installers using this prefix are intended for internal-use only.
@@ -179,7 +185,6 @@
179185

180186
<Import Project="eng\Workarounds.props" />
181187
<Import Project="eng\Dependencies.props" />
182-
<Import Project="eng\PatchConfig.props" />
183188
<Import Project="eng\ProjectReferences.props" />
184189
<Import Project="eng\SharedFramework.Local.props" />
185190
<Import Project="eng\SharedFramework.External.props" />

0 commit comments

Comments
 (0)