Skip to content

Commit 5f9f1ce

Browse files
author
John Luo
committed
Merge branch 'master' into johluo/migrating-extensions
2 parents 7d1f5d8 + b125c76 commit 5f9f1ce

File tree

607 files changed

+12118
-6732
lines changed

Some content is hidden

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

607 files changed

+12118
-6732
lines changed

.azure/pipelines/ci.yml

Lines changed: 82 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,30 @@ 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: ''
43+
- name: _InternalRuntimeDownloadArgs
44+
value: ''
45+
- name: _InternalRuntimeDownloadCodeSignArgs
46+
value: ''
4147
- ${{ 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)
56+
- group: DotNet-HelixApi-Access
57+
- name: _UseHelixOpenQueues
58+
value: 'false'
4259
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
4360
# DotNet-Blob-Feed provides: dotnetfeed-storage-access-key-1
4461
# Publish-Build-Assets provides: MaestroAccessToken, BotAccount-dotnet-maestro-bot-PAT
@@ -63,7 +80,7 @@ variables:
6380
- name: _BuildArgs
6481
value: ''
6582
- name: _SignType
66-
valule: test
83+
value: test
6784
- name: _PublishArgs
6885
value: ''
6986
# used for post-build phases, internal builds only
@@ -81,7 +98,15 @@ stages:
8198
jobDisplayName: Code check
8299
agentOs: Windows
83100
steps:
84-
- 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)
85110
displayName: Run eng/scripts/CodeCheck.ps1
86111
artifacts:
87112
- name: Code_Check_Logs
@@ -108,6 +133,14 @@ stages:
108133
# This is intentional to workaround https://github.com/dotnet/arcade/issues/1957 which always re-submits for code-signing, even
109134
# if they have already been signed. This results in slower builds due to re-submitting the same .nupkg many times for signing.
110135
# 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)
111144

112145
- script: ./build.cmd
113146
-ci
@@ -117,6 +150,7 @@ stages:
117150
-buildNative
118151
/bl:artifacts/log/build.x64.binlog
119152
$(_BuildArgs)
153+
$(_InternalRuntimeDownloadArgs)
120154
displayName: Build x64
121155

122156
# Build the x86 shared framework
@@ -132,6 +166,7 @@ stages:
132166
/p:OnlyPackPlatformSpecificPackages=true
133167
/bl:artifacts/log/build.x86.binlog
134168
$(_BuildArgs)
169+
$(_InternalRuntimeDownloadArgs)
135170
displayName: Build x86
136171

137172
# This is in a separate build step with -forceCoreMsbuild to workaround MAX_PATH limitations - https://github.com/Microsoft/msbuild/issues/53
@@ -140,6 +175,7 @@ stages:
140175
-pack
141176
-noBuildDeps
142177
$(_BuildArgs)
178+
$(_InternalRuntimeDownloadArgs)
143179
condition: ne(variables['Build.Reason'], 'PullRequest')
144180
displayName: Build SiteExtension
145181

@@ -166,6 +202,7 @@ stages:
166202
/p:AssetManifestFileName=aspnetcore-win-x64-x86.xml
167203
$(_BuildArgs)
168204
$(_PublishArgs)
205+
$(_InternalRuntimeDownloadArgs)
169206
/p:PublishInstallerBaseVersion=true
170207
displayName: Build Installers
171208

@@ -206,6 +243,7 @@ stages:
206243
/p:AssetManifestFileName=aspnetcore-win-arm.xml
207244
$(_BuildArgs)
208245
$(_PublishArgs)
246+
$(_InternalRuntimeDownloadArgs)
209247
installNodeJs: false
210248
installJdk: false
211249
artifacts:
@@ -232,6 +270,7 @@ stages:
232270
-p:AssetManifestFileName=aspnetcore-MacOS_x64.xml
233271
$(_BuildArgs)
234272
$(_PublishArgs)
273+
$(_InternalRuntimeDownloadArgs)
235274
installNodeJs: false
236275
installJdk: false
237276
artifacts:
@@ -252,6 +291,14 @@ stages:
252291
jobDisplayName: "Build: Linux x64"
253292
agentOs: Linux
254293
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)
255302
- script: ./build.sh
256303
--ci
257304
--arch x64
@@ -262,6 +309,7 @@ stages:
262309
-p:OnlyPackPlatformSpecificPackages=true
263310
-bl:artifacts/log/build.linux-x64.binlog
264311
$(_BuildArgs)
312+
$(_InternalRuntimeDownloadArgs)
265313
displayName: Run build.sh
266314
- script: |
267315
git clean -xfd src/**/obj/
@@ -275,7 +323,8 @@ stages:
275323
-p:BuildRuntimeArchive=false \
276324
-p:LinuxInstallerType=deb \
277325
-bl:artifacts/log/build.deb.binlog \
278-
$(_BuildArgs)
326+
$(_BuildArgs) \
327+
$(_InternalRuntimeDownloadArgs)
279328
displayName: Build Debian installers
280329
- script: |
281330
git clean -xfd src/**/obj/
@@ -291,7 +340,8 @@ stages:
291340
-bl:artifacts/log/build.rpm.binlog \
292341
-p:AssetManifestFileName=aspnetcore-Linux_x64.xml \
293342
$(_BuildArgs) \
294-
$(_PublishArgs)
343+
$(_PublishArgs) \
344+
$(_InternalRuntimeDownloadArgs)
295345
displayName: Build RPM installers
296346
installNodeJs: false
297347
installJdk: false
@@ -323,6 +373,7 @@ stages:
323373
-p:AssetManifestFileName=aspnetcore-Linux_arm.xml
324374
$(_BuildArgs)
325375
$(_PublishArgs)
376+
$(_InternalRuntimeDownloadArgs)
326377
installNodeJs: false
327378
installJdk: false
328379
artifacts:
@@ -353,6 +404,7 @@ stages:
353404
-p:AssetManifestFileName=aspnetcore-Linux_arm64.xml
354405
$(_BuildArgs)
355406
$(_PublishArgs)
407+
$(_InternalRuntimeDownloadArgs)
356408
installNodeJs: false
357409
installJdk: false
358410
artifacts:
@@ -386,6 +438,7 @@ stages:
386438
-p:AssetManifestFileName=aspnetcore-Linux_musl_x64.xml
387439
$(_BuildArgs)
388440
$(_PublishArgs)
441+
$(_InternalRuntimeDownloadArgs)
389442
installNodeJs: false
390443
installJdk: false
391444
artifacts:
@@ -419,6 +472,7 @@ stages:
419472
-p:AssetManifestFileName=aspnetcore-Linux_musl_arm64.xml
420473
$(_BuildArgs)
421474
$(_PublishArgs)
475+
$(_InternalRuntimeDownloadArgs)
422476
installNodeJs: false
423477
installJdk: false
424478
artifacts:
@@ -440,7 +494,7 @@ stages:
440494
jobDisplayName: "Test: Windows Server 2016 x64"
441495
agentOs: Windows
442496
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"
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)
444498
beforeBuild:
445499
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
446500
displayName: Setup IISExpress test certificates and schema
@@ -476,7 +530,15 @@ stages:
476530
agentOs: Windows
477531
isTestingJob: true
478532
steps:
479-
- 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)
480542
displayName: Build Repo
481543
- script: ./src/ProjectTemplates/build.cmd -ci -pack -NoRestore -NoBuilddeps "/p:RunTemplateTests=true /bl:artifacts/log/template.pack.binlog"
482544
displayName: Pack Templates
@@ -503,7 +565,7 @@ stages:
503565
jobDisplayName: "Test: macOS 10.13"
504566
agentOs: macOS
505567
isTestingJob: true
506-
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true"
568+
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs)
507569
beforeBuild:
508570
- bash: "./eng/scripts/install-nginx-mac.sh"
509571
displayName: Installing Nginx
@@ -538,7 +600,7 @@ stages:
538600
jobDisplayName: "Test: Ubuntu 16.04 x64"
539601
agentOs: Linux
540602
isTestingJob: true
541-
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true"
603+
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs)
542604
beforeBuild:
543605
- bash: "./eng/scripts/install-nginx-linux.sh"
544606
displayName: Installing Nginx
@@ -582,6 +644,7 @@ stages:
582644
- script: .\build.cmd -ci -NoRestore -test -projects eng\helix\helix.proj /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildAllProjects=true /p:BuildNative=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
583645
displayName: Run build.cmd helix target
584646
env:
647+
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
585648
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
586649
artifacts:
587650
- name: Helix_logs
@@ -591,6 +654,7 @@ stages:
591654

592655
- template: jobs/default-build.yml
593656
parameters:
657+
condition: ne(variables['Build.Reason'], 'PullRequest')
594658
jobName: Helix_x64_daily
595659
jobDisplayName: 'Tests: Helix x64 Daily'
596660
agentOs: Windows
@@ -601,6 +665,7 @@ stages:
601665
- script: .\build.cmd -ci -NoRestore -test -projects eng\helix\helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true /p:BuildAllProjects=true /p:BuildNative=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
602666
displayName: Run build.cmd helix target
603667
env:
668+
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
604669
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
605670
artifacts:
606671
- name: Helix_logs
@@ -622,6 +687,7 @@ stages:
622687
- script: ./build.sh -ci --arch arm64 -test --no-build-nodejs -projects $(Build.SourcesDirectory)/eng/helix/helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true /p:BuildAllProjects=true /p:BuildNative=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
623688
displayName: Run build.sh helix arm64 target
624689
env:
690+
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
625691
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
626692
installNodeJs: false
627693
artifacts:
@@ -647,6 +713,14 @@ stages:
647713
chmod +x $HOME/bin/jq
648714
echo "##vso[task.prependpath]$HOME/bin"
649715
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)
650724
- script: ./eng/scripts/ci-source-build.sh --ci --configuration Release /p:BuildManaged=true /p:BuildNodeJs=false
651725
displayName: Run ci-source-build.sh
652726
- task: PublishBuildArtifacts@1

.azure/pipelines/helix-test.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ pr:
1111
include:
1212
- '*'
1313

14+
variables:
15+
- ${{ if ne(variables['System.TeamProject'], 'internal') }}:
16+
- name: _UseHelixOpenQueues
17+
value: 'true'
18+
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
19+
- name: _UseHelixOpenQueues
20+
value: 'false'
21+
1422
jobs:
1523
- template: jobs/default-build.yml
1624
parameters:

.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: 19 additions & 1 deletion
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)
@@ -233,7 +251,7 @@ jobs:
233251
condition: always()
234252
inputs:
235253
testRunner: junit
236-
testResultsFiles: '**/TEST-com.microsoft.signalr*.xml'
254+
testResultsFiles: '**/TEST-junit-jupiter.xml'
237255
buildConfiguration: $(BuildConfiguration)
238256
buildPlatform: $(AgentOsName)
239257
mergeTestResults: true

.gitattributes

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@
88
###############################################################################
99
*.sh eol=lf
1010

11+
###############################################################################
12+
# Make gradlew always have LF as line endings
13+
###############################################################################
14+
gradlew eol=lf
15+
1116
###############################################################################
1217
# Set default behavior for command prompt diff.
1318
#

Directory.Build.props

Lines changed: 6 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,13 +182,13 @@
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" />
186188
<Import Project="eng\targets\Cpp.Common.props" Condition="'$(MSBuildProjectExtension)' == '.vcxproj'" />
187189
<Import Project="eng\targets\CSharp.Common.props" Condition="'$(MSBuildProjectExtension)' == '.csproj'" />
188190
<Import Project="eng\targets\Wix.Common.props" Condition="'$(MSBuildProjectExtension)' == '.wixproj'" />
189191
<Import Project="eng\targets\Npm.Common.props" Condition="'$(MSBuildProjectExtension)' == '.npmproj'" />
192+
<Import Project="eng\targets\Helix.props" Condition="'$(IsTestProject)' == 'true'" />
190193

191194
</Project>

0 commit comments

Comments
 (0)