diff --git a/.vsts-ci.yml b/.vsts-ci.yml
index 303276853..e3934489b 100644
--- a/.vsts-ci.yml
+++ b/.vsts-ci.yml
@@ -35,11 +35,10 @@ variables:
value: ''
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- - group: DotNet-MSRC-Storage
- group: DotNetBuilds storage account read tokens
- name: _InternalRuntimeDownloadArgs
- value: /p:DotNetRuntimeSourceFeed=https://dotnetclimsrc.blob.core.windows.net/dotnet
- /p:DotNetRuntimeSourceFeedKey=$(dotnetclimsrc-read-sas-token-base64)
+ value: /p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal
+ /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64)
/p:dotnetbuilds-internal-container-read-token-base64=$(dotnetbuilds-internal-container-read-token-base64)
stages:
@@ -391,8 +390,10 @@ stages:
- Source_Build_Create_Tarball
publishUsingPipelines: true
pool:
- name: NetCore1ESPool-Svc-Internal
- demands: ImageOverride -equals build.windows.10.amd64.vs2019
+ ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+ name: NetCore1ESPool-Svc-Internal
+ demands: ImageOverride -equals build.windows.10.amd64.vs2017
+
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: eng\common\templates\post-build\post-build.yml
diff --git a/NuGet.config b/NuGet.config
index 459c393cc..605398339 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -7,16 +7,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -35,11 +47,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 3dd9a0ce6..4d121fd28 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,46 +1,46 @@
-
- https://github.com/dotnet/windowsdesktop
- 59fea7da1dbb6e48837fa726cc2760b154bce3d1
-
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop
- ef15b555537a90da229ce6474658ae1a9916a932
+ 9fbd3ecd250dda95f93b0123ab017efb1e0e6033
-
- https://github.com/dotnet/windowsdesktop
- 59fea7da1dbb6e48837fa726cc2760b154bce3d1
-
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop
- ef15b555537a90da229ce6474658ae1a9916a932
+ 9fbd3ecd250dda95f93b0123ab017efb1e0e6033
-
- https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 3a25a7f1cc446b60678ed25c9d829420d6321eba
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop
+ 9fbd3ecd250dda95f93b0123ab017efb1e0e6033
-
- https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 3a25a7f1cc446b60678ed25c9d829420d6321eba
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop
+ 9fbd3ecd250dda95f93b0123ab017efb1e0e6033
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 3a25a7f1cc446b60678ed25c9d829420d6321eba
+ 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 3a25a7f1cc446b60678ed25c9d829420d6321eba
+ 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10
+
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
+ 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10
+
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
+ 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 3a25a7f1cc446b60678ed25c9d829420d6321eba
+ 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 3a25a7f1cc446b60678ed25c9d829420d6321eba
+ 839cdfb0ecca5e0be3dbccd926e7651ef50fdf10
@@ -52,108 +52,108 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
3a25a7f1cc446b60678ed25c9d829420d6321eba
-
- https://github.com/dotnet/aspnetcore
- ae1a6cbe225b99c0bf38b7e31bf60cb653b73a52
-
-
- https://github.com/dotnet/aspnetcore
- ae1a6cbe225b99c0bf38b7e31bf60cb653b73a52
-
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 4e7d976438b0fc17f435804e801d5d68d193ec33
+ 1dcf7acfacf0fe154adcc23270cb0da11ff44ace
+
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
+ 1dcf7acfacf0fe154adcc23270cb0da11ff44ace
+
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
+ 1dcf7acfacf0fe154adcc23270cb0da11ff44ace
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 4e7d976438b0fc17f435804e801d5d68d193ec33
+ 1dcf7acfacf0fe154adcc23270cb0da11ff44ace
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 4e7d976438b0fc17f435804e801d5d68d193ec33
+ 1dcf7acfacf0fe154adcc23270cb0da11ff44ace
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 4e7d976438b0fc17f435804e801d5d68d193ec33
+ 1dcf7acfacf0fe154adcc23270cb0da11ff44ace
-
+
https://github.com/dotnet/test-templates
c40ef7e056b48e011c43a21354d6790ba6b8b4fc
-
+
https://github.com/dotnet/test-templates
c40ef7e056b48e011c43a21354d6790ba6b8b4fc
-
+
https://github.com/dotnet/test-templates
c40ef7e056b48e011c43a21354d6790ba6b8b4fc
-
- https://github.com/dotnet/templating
- 55fa299ca45a3c19e8970e6afba34951e368525a
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-templating
+ e6d9bf1868c4aa2808714ada839018a8506bd7dd
-
- https://github.com/dotnet/templating
- 55fa299ca45a3c19e8970e6afba34951e368525a
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-templating
+ e6d9bf1868c4aa2808714ada839018a8506bd7dd
-
- https://github.com/dotnet/templating
- 55fa299ca45a3c19e8970e6afba34951e368525a
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-templating
+ e6d9bf1868c4aa2808714ada839018a8506bd7dd
-
- https://github.com/dotnet/sdk
- 6ca80ba4d8c6f3087176440622bbdb90e78d3708
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-sdk
+ f9b6be31b19097cb47125075ca2e8322bf591fc0
-
- https://github.com/dotnet/sdk
- 6ca80ba4d8c6f3087176440622bbdb90e78d3708
+
+ https://dev.azure.com/dnceng/internal/_git/dotnet-sdk
+ f9b6be31b19097cb47125075ca2e8322bf591fc0
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-winforms
- 846205b4af05c7a200e1d203536fdc39994b9bd6
+ 5ad241b9633924db40503de19cb502bb0aca7718
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-wpf
- 0350d04790959e8ebdd3ceab0d34a40f811f019d
+ fb76229895cae74c1adc62c2411a0730a2f3759b
-
+
https://github.com/dotnet/fsharp
- f49aeb20f1b257c3fecf6ddc37f4adefbb669b7f
+ 7200973937f45e4e270b27634b0550d2954668d3
-
+
https://github.com/dotnet/fsharp
- f49aeb20f1b257c3fecf6ddc37f4adefbb669b7f
+ 7200973937f45e4e270b27634b0550d2954668d3
-
+
https://github.com/microsoft/vstest
- a809880e02d8a9986e3ba1daeeeb5078fbb96be5
+ d3c6439b04452047cb62fc645ce341a034bdb5be
-
+
https://github.com/dotnet/linker
- d0662ed8db919642177ddfd06a1c33895a69015f
+ cc3dc76c374152f86ff73aa02f35782b713908c6
linker
-
+
https://github.com/dotnet/roslyn
- f206c5d203c5562f814d3afa3c9e695250391c76
+ 592501cbb9c9394072a245c15b3458ff88155d85
-
+
https://github.com/dotnet/msbuild
- 797fd829a374a880f63fd4eea4ea6990404c48f4
+ ae57d105c6094d8d59fe42f557ad0dcb46ec285e
-
+
https://github.com/nuget/nuget.client
- 9187a50daec29061772a2057490697c6c0e4c354
+ f1906d3d581e0ea0bdd282134208d654f8447880
diff --git a/eng/Versions.props b/eng/Versions.props
index ca044a3ad..5c357918e 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -10,11 +10,11 @@
3
00
$(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature)
- preview
+ servicing
$(VersionMajor).$(VersionMinor)
$(MajorMinorVersion).$(VersionSDKMinor)
- false
+ true
release
@@ -23,20 +23,20 @@
- 6.0.1-servicing.21567.5
+ 6.0.2-servicing.22064.7
- 6.0.1-servicing.21567.7
+ 6.0.2-servicing.22064.8
- 6.0.200-preview.21623.5
+ 6.0.200
- 1.0.2-beta4.21473.2
- 1.0.2-beta4.21473.2
+ 1.0.2-beta4.22064.3
+ 1.0.2-beta4.22064.3
@@ -44,20 +44,20 @@
- 6.0.1
- 6.0.0
- 6.0.0-rtm.21526.8
- 6.0.1-servicing.21567.14
- 6.0.1-servicing.21567.14
- 6.0.1-servicing.21567.14
+ 6.0.2
+ 6.0.2
+ 6.0.2-servicing.22064.12
+ 6.0.2-servicing.22064.12
+ 6.0.2-servicing.22064.12
+ 6.0.2-servicing.22064.12
0.2.0
- 6.0.200-preview.22055.23
- 6.0.200-preview.22055.23
+ 6.0.200-rtm.22104.9
+ 6.0.200-rtm.22104.9
$(MicrosoftNETSdkPackageVersion)
$(MicrosoftNETSdkPackageVersion)
$(MicrosoftNETSdkPackageVersion)
@@ -68,20 +68,20 @@
- 6.0.1-servicing.21567.5
- 6.0.1-servicing.21567.5
- 6.0.1
- 6.0.1
- 6.0.1
- 6.0.1
+ 6.0.2-servicing.22064.6
+ 6.0.2-servicing.22064.6
+ 6.0.2
+ 6.0.2
+ 6.0.2
+ 6.0.2
2.1.0
- 6.0.1-servicing.21568.2
- 6.0.0-rtm.21523.1
- 6.0.1
- 6.0.0
+ 6.0.2-servicing.22064.6
+ 6.0.2-servicing.22064.6
+ 6.0.2
+ 6.0.2
@@ -113,7 +113,7 @@
$(MicrosoftDotNetWpfProjectTemplatesPackageVersion)
$(NUnit3DotNetNewTemplatePackageVersion)
$(MicrosoftDotNetCommonItemTemplatesPackageVersion)
- 6.0.200-preview.21623.5
+ 6.0.200
$(MicrosoftAspNetCoreAppRuntimePackageVersion)
$(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion)
@@ -121,7 +121,7 @@
$(NUnit3DotNetNewTemplatePackageVersion)
$(MicrosoftDotNetCommonItemTemplates50PackageVersion)
$(MicrosoftDotNetCommonItemTemplates50PackageVersion)
- 5.0.13
+ 5.0.14
4.8.1-servicing.19605.5
3.1.2-servicing.20066.4
@@ -143,14 +143,14 @@
1.5.3
1.0.2-beta3
$(MicrosoftDotNetCommonItemTemplates21PackageVersion)
- 1.0.2-beta4.21473.2
+ 1.0.2-beta4.22064.3
2.1.30
2.2.0-beta.19072.10
2.0.0
- 17.2.0-preview-20211210-01
+ 17.1.0-release-20220113-05
@@ -172,19 +172,19 @@
or minor release, prebuilts may be needed. When the release is mature, prebuilts are not
necessary, and this property is removed from the file.
-->
- 0.1.0-6.0.100-bootstrap.29
+ 6.0.1-1
- 6.0.101-preview.9.1805
- 31.0.101-preview.9.16
- 15.0.101-preview.9.31
- 15.0.101-preview.9.31
- 12.0.101-preview.9.31
- 15.0.101-preview.9.31
- $(MicrosoftNETCoreAppRefPackageVersion)
- 6.0.0
- $(MicrosoftNETWorkloadEmscriptenManifest60100Version)
+ 6.0.200-preview.13.2747
+ 31.0.200-preview.13.41
+ 15.2.301-preview.13.2
+ 15.2.301-preview.13.2
+ 12.1.301-preview.13.2
+ 15.2.301-preview.13.2
+ 6.0.2-mauipre.1.22102.15
+ 6.0.1
+ $(MicrosoftNETWorkloadEmscriptenManifest60200Version)
diff --git a/eng/common/templates/steps/source-build.yml b/eng/common/templates/steps/source-build.yml
index ba40dc82f..abb1b2bcd 100644
--- a/eng/common/templates/steps/source-build.yml
+++ b/eng/common/templates/steps/source-build.yml
@@ -43,8 +43,8 @@ steps:
# In that case, add variables to allow the download of internal runtimes if the specified versions are not found
# in the default public locations.
internalRuntimeDownloadArgs=
- if [ '$(dotnetclimsrc-read-sas-token-base64)' != '$''(dotnetclimsrc-read-sas-token-base64)' ]; then
- internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://dotnetclimsrc.blob.core.windows.net/dotnet /p:DotNetRuntimeSourceFeedKey=$(dotnetclimsrc-read-sas-token-base64) --runtimesourcefeed https://dotnetclimsrc.blob.core.windows.net/dotnet --runtimesourcefeedkey $(dotnetclimsrc-read-sas-token-base64)'
+ if [ '$(dotnetbuilds-internal-container-read-token-base64)' != '$''(dotnetbuilds-internal-container-read-token-base64)' ]; then
+ internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://dotnetbuilds.blob.core.windows.net/internal --runtimesourcefeedkey $(dotnetbuilds-internal-container-read-token-base64)'
fi
buildConfig=Release
diff --git a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml
index 93e1f1d5e..8e55a40b5 100644
--- a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml
+++ b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml
@@ -42,8 +42,8 @@ jobs:
# In that case, add variables to allow the download of internal runtimes if the specified versions are not found
# in the default public locations.
internalRuntimeDownloadArgs=
- if [ '$(dotnetclimsrc-read-sas-token-base64)' != '$''(dotnetclimsrc-read-sas-token-base64)' ]; then
- internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://dotnetclimsrc.blob.core.windows.net/dotnet /p:DotNetRuntimeSourceFeedKey=$(dotnetclimsrc-read-sas-token-base64) --runtimesourcefeed https://dotnetclimsrc.blob.core.windows.net/dotnet --runtimesourcefeedkey $(dotnetclimsrc-read-sas-token-base64)'
+ if [ '$(dotnetbuilds-internal-container-read-token-base64)' != '$''(dotnetbuilds-internal-container-read-token-base64)' ]; then
+ internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://dotnetbuilds.blob.core.windows.net/internal --runtimesourcefeedkey $(dotnetbuilds-internal-container-read-token-base64)'
fi
./build.sh \
diff --git a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
index 70a63dc82..6330a1529 100644
--- a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
+++ b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
@@ -69,11 +69,24 @@ jobs:
_ExcludeOmniSharpTests: false
_RunOnline: false
timeoutInMinutes: 300
+ variables:
+ - ${{ if ne(variables['System.TeamProject'], 'public') }}:
+ - group: AzureDevOps-Artifact-Feeds-Pats
workspace:
clean: all
steps:
- - checkout: none
+ - checkout: self
+ clean: true
+
+ - ${{ if ne(variables['System.TeamProject'], 'public') }}:
+ - task: Bash@3
+ displayName: Setup Private Feeds Credentials
+ inputs:
+ filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
+ arguments: $(Build.SourcesDirectory)/NuGet.config $Token
+ env:
+ Token: $(dn-bot-dnceng-artifact-feeds-rw)
- template: /src/SourceBuild/Arcade/eng/common/templates/steps/source-build-build-tarball.yml
parameters:
@@ -110,11 +123,24 @@ jobs:
_Container: ${{ parameters.fedora33Container }}
_RunOnline: false
timeoutInMinutes: 180
+ variables:
+ - ${{ if ne(variables['System.TeamProject'], 'public') }}:
+ - group: AzureDevOps-Artifact-Feeds-Pats
workspace:
clean: all
steps:
- - checkout: none
+ - checkout: self
+ clean: true
+
+ - ${{ if ne(variables['System.TeamProject'], 'public') }}:
+ - task: Bash@3
+ displayName: Setup Private Feeds Credentials
+ inputs:
+ filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
+ arguments: $(Build.SourcesDirectory)/NuGet.config $Token
+ env:
+ Token: $(dn-bot-dnceng-artifact-feeds-rw)
- download: current
artifact: $(_PreviousSourceBuildArtifact)
diff --git a/src/SourceBuild/Arcade/eng/common/templates/steps/source-build-build-tarball.yml b/src/SourceBuild/Arcade/eng/common/templates/steps/source-build-build-tarball.yml
index 2891bdc13..cfb965134 100644
--- a/src/SourceBuild/Arcade/eng/common/templates/steps/source-build-build-tarball.yml
+++ b/src/SourceBuild/Arcade/eng/common/templates/steps/source-build-build-tarball.yml
@@ -66,7 +66,11 @@ steps:
- script: |
set -x
- docker run --rm -v ${{ parameters.tarballDir }}:/tarball -w /tarball -e excludeOmniSharpTests=${{ parameters.excludeOmniSharpTests}} ${{ parameters.container }} ./build.sh --run-smoke-test ${{ parameters.additionalBuildArgs }}
+ # Use installer repo's NuGet.config during online testing to utilize internal feeds
+ rm -f ${{ parameters.tarballDir }}/test/Microsoft.DotNet.SourceBuild.SmokeTests/smoke-tests/online.NuGet.Config
+ cp NuGet.config ${{ parameters.tarballDir }}/test/Microsoft.DotNet.SourceBuild.SmokeTests/smoke-tests/online.NuGet.Config
+
+ docker run --rm -v ${{ parameters.tarballDir }}:/tarball -w /tarball -e EXCLUDE_OMNISHARP_TESTS=${{ parameters.excludeOmniSharpTests}} ${{ parameters.container }} ./build.sh --run-smoke-test ${{ parameters.additionalBuildArgs }}
displayName: Run Tests
# Don't use CopyFiles@2 as it encounters permissions issues because it indexes all files in the source directory graph.
@@ -82,7 +86,7 @@ steps:
find artifacts/prebuilt-report/ -exec cp {} --parents -t ${targetFolder} \;
find src/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
find src/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
- find testing-smoke/logs -exec cp {} --parents -t ${targetFolder} \;
+ find test/*/*/*/*/*/testing-smoke*/logs -exec cp {} --parents -t ${targetFolder} \;
displayName: Prepare BuildLogs staging directory
continueOnError: true
condition: succeededOrFailed()
@@ -93,6 +97,20 @@ steps:
continueOnError: true
condition: succeededOrFailed()
+ - task: PublishTestResults@2
+ displayName: Publish Test Results
+ condition: succeededOrFailed()
+ continueOnError: true
+ inputs:
+ testRunner: vSTest
+ testResultsFiles: 'test/**/*.trx'
+ searchFolder: ${{ parameters.tarballDir }}
+ mergeTestResults: true
+ publishRunAttachments: true
+ testRunTitle: SourceBuild_SmokeTests_$(Agent.JobName)
+
- publish: '${{ parameters.tarballDir }}/artifacts/${{ parameters.buildArch}}/Release/'
artifact: $(Agent.JobName)_Artifacts
displayName: Publish Artifacts
+ condition: succeededOrFailed()
+ continueOnError: true
diff --git a/src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets b/src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets
index 9a49c3499..76297fd3b 100644
--- a/src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets
+++ b/src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets
@@ -19,7 +19,7 @@
$(TarballRootDir)src/
$(TarballRootDir)git-info/
quiet
- true
+ true
$(GitHubRepositoryName)
- 1.0.0
- 1.0.0
+ $(VersionPrefix)
+ $(VersionPrefix)
@(RootRepoCommitSha)
@(RootRepoUri)
@(RootRepoCommitCount)
diff --git a/src/SourceBuild/Arcade/tools/TextOnlyPackages.csproj b/src/SourceBuild/Arcade/tools/TextOnlyPackages.csproj
index 89142c504..06873950f 100644
--- a/src/SourceBuild/Arcade/tools/TextOnlyPackages.csproj
+++ b/src/SourceBuild/Arcade/tools/TextOnlyPackages.csproj
@@ -28,6 +28,7 @@
+
@@ -41,14 +42,14 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
- $(SmokeTestCommand) --excludeWebHttpsTests
+
+ %(SdkTarballItem.Identity)
-
+ DOTNET_TARBALL_PATH=$(SdkTarballPath);
+ TARGET_RID=$(TargetRid);
+ " />
+
+
+
+
+ $(OutputPath)dotnet-smoke-test-prereqs.$(installerOutputPackageVersion).tar.gz
+
+
+
+
+
@@ -150,8 +162,7 @@
- $(PrivateSourceBuiltPrebuiltsPackageVersionPrefix)$([MSBuild]::Add($(PrivateSourceBuiltPrebuiltsPackageVersionSuffix), 1))
- $(OutputPath)$(SourceBuiltPrebuiltsTarballName).$(TarballFileVersion).tar.gz
+ $(OutputPath)$(SourceBuiltPrebuiltsTarballName).$(installerOutputPackageVersion).tar.gz
$(ResultingPrebuiltPackagesDir)
diff --git a/src/SourceBuild/tarball/content/eng/Versions.props b/src/SourceBuild/tarball/content/eng/Versions.props
index 1925782b6..df7b892f6 100644
--- a/src/SourceBuild/tarball/content/eng/Versions.props
+++ b/src/SourceBuild/tarball/content/eng/Versions.props
@@ -9,9 +9,4 @@
2.2.0
-
-
- 0.1.0-6.0.100-
- 36
-
diff --git a/src/SourceBuild/tarball/content/repos/package-source-build.proj b/src/SourceBuild/tarball/content/repos/package-source-build.proj
index 96c21c3b7..0101374dc 100644
--- a/src/SourceBuild/tarball/content/repos/package-source-build.proj
+++ b/src/SourceBuild/tarball/content/repos/package-source-build.proj
@@ -47,7 +47,7 @@
Directories="$(SourceBuildReferencePackagesDestination)extractArtifacts/" />
- $(OutputPath)$(SourceBuiltArtifactsTarballName).$(VersionPrefix)-$(VersionSuffix).tar.gz
+ $(OutputPath)$(SourceBuiltArtifactsTarballName).$(installerOutputPackageVersion).tar.gz
diff --git a/src/SourceBuild/tarball/content/scripts/bootstrap/buildBootstrapPreviouslySB.csproj b/src/SourceBuild/tarball/content/scripts/bootstrap/buildBootstrapPreviouslySB.csproj
index 0a2fcff17..14921a48f 100644
--- a/src/SourceBuild/tarball/content/scripts/bootstrap/buildBootstrapPreviouslySB.csproj
+++ b/src/SourceBuild/tarball/content/scripts/bootstrap/buildBootstrapPreviouslySB.csproj
@@ -19,10 +19,20 @@
+
+
+
+
+
+
+
+
diff --git a/src/SourceBuild/tarball/content/smoke-testNuGet.Config b/src/SourceBuild/tarball/content/smoke-testNuGet.Config
deleted file mode 100644
index 79dbf806a..000000000
--- a/src/SourceBuild/tarball/content/smoke-testNuGet.Config
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SourceBuild/tarball/content/test/Directory.Build.props b/src/SourceBuild/tarball/content/test/Directory.Build.props
new file mode 100644
index 000000000..5bec34ce2
--- /dev/null
+++ b/src/SourceBuild/tarball/content/test/Directory.Build.props
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/src/SourceBuild/tarball/content/test/Directory.Build.targets b/src/SourceBuild/tarball/content/test/Directory.Build.targets
new file mode 100644
index 000000000..5bec34ce2
--- /dev/null
+++ b/src/SourceBuild/tarball/content/test/Directory.Build.targets
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/BaselineHelper.cs b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/BaselineHelper.cs
new file mode 100644
index 000000000..73c2951f7
--- /dev/null
+++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/BaselineHelper.cs
@@ -0,0 +1,37 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using Xunit;
+
+namespace Microsoft.DotNet.SourceBuild.SmokeTests
+{
+ internal class BaselineHelper
+ {
+ public static void Compare(string baselineFileName, IOrderedEnumerable actualEntries)
+ {
+ IEnumerable baseline = File.ReadAllLines(GetBaselineFilePath(baselineFileName));
+ string[] missingEntries = actualEntries.Except(baseline).ToArray();
+ string[] extraEntries = baseline.Except(actualEntries).ToArray();
+
+ string? message = null;
+ if (missingEntries.Length > 0)
+ {
+ message = $"Missing entries in '{baselineFileName}' baseline: {Environment.NewLine}{string.Join(Environment.NewLine, missingEntries)}{Environment.NewLine}{Environment.NewLine}";
+ }
+
+ if (extraEntries.Length > 0)
+ {
+ message += $"Extra entries in '{baselineFileName}' baseline: {Environment.NewLine}{string.Join(Environment.NewLine, extraEntries)}{Environment.NewLine}{Environment.NewLine}";
+ }
+
+ Assert.Null(message);
+ }
+
+ private static string GetBaselineFilePath(string baselineFileName) => Path.Combine(Directory.GetCurrentDirectory(), "baselines", baselineFileName);
+ }
+}
diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/Config.cs b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/Config.cs
new file mode 100644
index 000000000..be0e6b411
--- /dev/null
+++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/Config.cs
@@ -0,0 +1,19 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System;
+
+namespace Microsoft.DotNet.SourceBuild.SmokeTests;
+
+internal static class Config
+{
+ public static string DotNetDirectory { get; } = Environment.GetEnvironmentVariable("DOTNET_DIR") ?? "./.dotnet";
+ public static string DotNetTarballPath { get; } = Environment.GetEnvironmentVariable(DotNetTarballPathEnv) ?? string.Empty;
+ public const string DotNetTarballPathEnv = "DOTNET_TARBALL_PATH";
+ public static bool ExcludeOmniSharpTests { get; } =
+ bool.TryParse(Environment.GetEnvironmentVariable("EXCLUDE_OMNISHARP_TESTS"), out bool excludeOmniSharpTests) ? excludeOmniSharpTests : false;
+ public static bool ExcludeOnlineTests { get; } =
+ bool.TryParse(Environment.GetEnvironmentVariable("EXCLUDE_ONLINE_TESTS"), out bool excludeOnlineTests) ? excludeOnlineTests : false;
+ public static string TargetRid { get; } = Environment.GetEnvironmentVariable("TARGET_RID") ?? string.Empty;
+}
diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetHelper.cs b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetHelper.cs
new file mode 100644
index 000000000..5a6716030
--- /dev/null
+++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetHelper.cs
@@ -0,0 +1,41 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System;
+using System.Diagnostics;
+using System.IO;
+using Xunit;
+using Xunit.Abstractions;
+
+namespace Microsoft.DotNet.SourceBuild.SmokeTests;
+
+internal class DotNetHelper
+{
+ public string DotNetPath { get; }
+ public string DotNetInstallDirectory { get; }
+
+ public DotNetHelper(ITestOutputHelper outputHelper)
+ {
+ if (!Directory.Exists(Config.DotNetDirectory))
+ {
+ if (!File.Exists(Config.DotNetTarballPath))
+ {
+ throw new InvalidOperationException($"Tarball path '{Config.DotNetTarballPath}' specified in {Config.DotNetTarballPathEnv} does not exist.");
+ }
+
+ Directory.CreateDirectory(Config.DotNetDirectory);
+ ExecuteHelper.ExecuteProcess("tar", $"xzf {Config.DotNetTarballPath} -C {Config.DotNetDirectory}", outputHelper);
+ }
+
+ DotNetInstallDirectory = Path.Combine(Directory.GetCurrentDirectory(), Config.DotNetDirectory);
+ DotNetPath = Path.Combine(DotNetInstallDirectory, "dotnet");
+ }
+
+ public void ExecuteDotNetCmd(string args, ITestOutputHelper outputHelper)
+ {
+ (Process Process, string StdOut, string StdErr) executeResult = ExecuteHelper.ExecuteProcess(DotNetPath, args, outputHelper);
+
+ Assert.Equal(0, executeResult.Process.ExitCode);
+ }
+}
diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/ExecuteHelper.cs b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/ExecuteHelper.cs
new file mode 100644
index 000000000..2c38e43ca
--- /dev/null
+++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/ExecuteHelper.cs
@@ -0,0 +1,63 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System.Diagnostics;
+using System.Linq;
+using System.Text;
+using Xunit.Abstractions;
+
+namespace Microsoft.DotNet.SourceBuild.SmokeTests;
+
+internal static class ExecuteHelper
+{
+ public static (Process Process, string StdOut, string StdErr) ExecuteProcess(
+ string fileName, string args, ITestOutputHelper outputHelper)
+ {
+ outputHelper.WriteLine($"Executing: {fileName} {args}");
+
+ Process process = new()
+ {
+ EnableRaisingEvents = true,
+ StartInfo =
+ {
+ FileName = fileName,
+ Arguments = args,
+ RedirectStandardOutput = true,
+ RedirectStandardError = true,
+ }
+ };
+
+ // The `dotnet test` execution context sets a number of dotnet related ENVs that cause issues when executing
+ // dotnet commands. Clear these to avoid side effects.
+ foreach (string key in process.StartInfo.Environment.Keys.Where(key => key != "HOME").ToList())
+ {
+ process.StartInfo.Environment.Remove(key);
+ }
+
+ StringBuilder stdOutput = new();
+ process.OutputDataReceived += new DataReceivedEventHandler((sender, e) => stdOutput.AppendLine(e.Data));
+
+ StringBuilder stdError = new();
+ process.ErrorDataReceived += new DataReceivedEventHandler((sender, e) => stdError.AppendLine(e.Data));
+
+ process.Start();
+ process.BeginOutputReadLine();
+ process.BeginErrorReadLine();
+ process.WaitForExit();
+
+ string output = stdOutput.ToString().Trim();
+ if (outputHelper != null && !string.IsNullOrWhiteSpace(output))
+ {
+ outputHelper.WriteLine(output);
+ }
+
+ string error = stdError.ToString().Trim();
+ if (outputHelper != null && !string.IsNullOrWhiteSpace(error))
+ {
+ outputHelper.WriteLine(error);
+ }
+
+ return (process, output, error);
+ }
+}
diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/Microsoft.DotNet.SourceBuild.SmokeTests.csproj b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/Microsoft.DotNet.SourceBuild.SmokeTests.csproj
new file mode 100644
index 000000000..0846de14b
--- /dev/null
+++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/Microsoft.DotNet.SourceBuild.SmokeTests.csproj
@@ -0,0 +1,36 @@
+
+
+
+ net6.0
+ enable
+
+ false
+ true
+
+
+
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+
+
+
+ Always
+
+
+ Always
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/README.md b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/README.md
new file mode 100644
index 000000000..91317e44e
--- /dev/null
+++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/README.md
@@ -0,0 +1,9 @@
+# Source Build Smoke Tests
+
+* Run these tests via `build.sh --run-smoke-test`
+* Various configuration settings are stored in `Config.cs`
+
+## Prereq Packages
+Some prerelease scenarios, usually security updates, require non-source-built packages which are not publicly available.
+Place these packages in the tarball's `packages/smoke-test-prereqs`. When prereq packages are required, the
+`EXCLUDE_ONLINE_TESTS=true` environment variable should be set when running tests via `build.sh --run-smoke-test`.
diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/SmokeTests.cs b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/SmokeTests.cs
new file mode 100644
index 000000000..6ebd64e7d
--- /dev/null
+++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/SmokeTests.cs
@@ -0,0 +1,45 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System.Diagnostics;
+using System.IO;
+using Xunit;
+using Xunit.Abstractions;
+
+namespace Microsoft.DotNet.SourceBuild.SmokeTests;
+
+// This test suite invokes the smoke-test.sh which should be considered legacy. Those tests should be migrated to this test suite overtime.
+public class SmokeTests
+{
+ private ITestOutputHelper OutputHelper { get; }
+ private DotNetHelper DotNetHelper { get; }
+
+ public SmokeTests(ITestOutputHelper outputHelper)
+ {
+ OutputHelper = outputHelper;
+ DotNetHelper = new DotNetHelper(outputHelper);
+ }
+
+ [Fact]
+ public void SmokeTestsScript()
+ {
+ string smokeTestArgs = $"--dotnetDir {Directory.GetParent(DotNetHelper.DotNetPath)} --projectOutput --archiveRestoredPackages --targetRid {Config.TargetRid}";
+ if (Config.TargetRid.Contains("osx"))
+ {
+ smokeTestArgs += " --excludeWebHttpsTests";
+ }
+ if (Config.ExcludeOmniSharpTests)
+ {
+ smokeTestArgs += " --excludeOmniSharpTests";
+ }
+ if (Config.ExcludeOnlineTests)
+ {
+ smokeTestArgs += " --excludeOnlineTests";
+ }
+
+ (Process Process, string StdOut, string StdErr) executeResult = ExecuteHelper.ExecuteProcess("./smoke-tests/smoke-test.sh", smokeTestArgs, OutputHelper);
+
+ Assert.Equal(0, executeResult.Process.ExitCode);
+ }
+}
diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/XmlDocTests.cs b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/XmlDocTests.cs
new file mode 100644
index 000000000..dd4cadf70
--- /dev/null
+++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/XmlDocTests.cs
@@ -0,0 +1,54 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System.Collections.Generic;
+using System.IO;
+using Xunit;
+using Xunit.Abstractions;
+using System;
+using System.Linq;
+
+namespace Microsoft.DotNet.SourceBuild.SmokeTests;
+
+public class XmlDocTests
+{
+ private ITestOutputHelper OutputHelper { get; }
+ private DotNetHelper DotNetHelper { get; }
+
+ public XmlDocTests(ITestOutputHelper outputHelper)
+ {
+ OutputHelper = outputHelper;
+ DotNetHelper = new DotNetHelper(outputHelper);
+ }
+
+ ///
+ /// Verifies every targeting pack assembly has a xml doc file.
+ /// There are exceptions which are specified in baselines/XmlDocIgnore.*.txt.
+ ///
+ [Fact]
+ public void VerifyTargetingPacksHaveDoc()
+ {
+ List missingXmlDoc = new();
+
+ string targetingPacksDirectory = Path.Combine(DotNetHelper.DotNetInstallDirectory, "packs");
+ foreach (string targetingPackAssembly in Directory.EnumerateFiles(targetingPacksDirectory, "*.dll", SearchOption.AllDirectories))
+ {
+ if (targetingPackAssembly.EndsWith("resources.dll"))
+ {
+ continue;
+ }
+
+ string xmlFile = Path.ChangeExtension(targetingPackAssembly, ".xml");
+ if (!File.Exists(xmlFile))
+ {
+ string pathWithoutPacksPrefix = xmlFile.Substring(targetingPacksDirectory.Length + 1);
+ String[] pathParts = pathWithoutPacksPrefix.Split(Path.DirectorySeparatorChar);
+ string pathWithoutVersion = string.Join(Path.DirectorySeparatorChar, pathParts.Take(1).Concat(pathParts.Skip(2)));
+ missingXmlDoc.Add(pathWithoutVersion);
+ }
+ }
+
+ BaselineHelper.Compare("MissingXmlDoc.txt", missingXmlDoc.OrderBy(entry => entry));
+ }
+}
diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/baselines/MissingXmlDoc.txt b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/baselines/MissingXmlDoc.txt
new file mode 100644
index 000000000..8db91d9d7
--- /dev/null
+++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/baselines/MissingXmlDoc.txt
@@ -0,0 +1,175 @@
+Microsoft.AspNetCore.App.Ref/analyzers/dotnet/cs/Microsoft.AspNetCore.App.Analyzers.xml
+Microsoft.AspNetCore.App.Ref/analyzers/dotnet/cs/Microsoft.AspNetCore.App.CodeFixes.xml
+Microsoft.AspNetCore.App.Ref/analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.xml
+Microsoft.NETCore.App.Ref/analyzers/dotnet/cs/System.Text.Json.SourceGeneration.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/Microsoft.VisualBasic.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/mscorlib.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.AppContext.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Buffers.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.ComponentModel.DataAnnotations.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Configuration.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Core.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Data.DataSetExtensions.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Data.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Diagnostics.Debug.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Diagnostics.Tools.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Drawing.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Dynamic.Runtime.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Globalization.Calendars.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Globalization.Extensions.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Globalization.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.IO.Compression.Brotli.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.IO.Compression.FileSystem.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.IO.FileSystem.Primitives.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.IO.FileSystem.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.IO.UnmanagedMemoryStream.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.IO.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Net.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Numerics.Vectors.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Numerics.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Reflection.Extensions.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Reflection.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Resources.Reader.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Resources.ResourceManager.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Runtime.Extensions.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Runtime.Handles.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Runtime.Serialization.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Security.Principal.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Security.SecureString.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Security.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.ServiceModel.Web.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.ServiceProcess.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Text.Encoding.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Threading.Tasks.Extensions.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Threading.Tasks.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Threading.Timer.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Transactions.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.ValueTuple.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Web.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Windows.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Xml.Linq.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Xml.Serialization.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Xml.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/System.Xml.XmlDocument.xml
+Microsoft.NETCore.App.Ref/ref/net6.0/WindowsBase.xml
+NETStandard.Library.Ref/ref/netstandard2.1/Microsoft.Win32.Primitives.xml
+NETStandard.Library.Ref/ref/netstandard2.1/mscorlib.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.AppContext.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Buffers.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Collections.Concurrent.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Collections.NonGeneric.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Collections.Specialized.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Collections.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.ComponentModel.Composition.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.ComponentModel.EventBasedAsync.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.ComponentModel.Primitives.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.ComponentModel.TypeConverter.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.ComponentModel.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Console.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Core.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Data.Common.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Data.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.Contracts.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.Debug.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.FileVersionInfo.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.Process.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.StackTrace.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.TextWriterTraceListener.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.Tools.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.TraceSource.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.Tracing.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Drawing.Primitives.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Drawing.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Dynamic.Runtime.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Globalization.Calendars.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Globalization.Extensions.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Globalization.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.IO.Compression.FileSystem.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.IO.Compression.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.IO.Compression.ZipFile.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.IO.FileSystem.DriveInfo.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.IO.FileSystem.Primitives.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.IO.FileSystem.Watcher.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.IO.FileSystem.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.IO.IsolatedStorage.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.IO.MemoryMappedFiles.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.IO.Pipes.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.IO.UnmanagedMemoryStream.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.IO.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Linq.Expressions.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Linq.Parallel.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Linq.Queryable.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Linq.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Memory.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Net.Http.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Net.NameResolution.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Net.NetworkInformation.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Net.Ping.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Net.Primitives.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Net.Requests.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Net.Security.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Net.Sockets.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Net.WebHeaderCollection.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Net.WebSockets.Client.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Net.WebSockets.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Net.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Numerics.Vectors.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Numerics.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.ObjectModel.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Reflection.DispatchProxy.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Reflection.Emit.ILGeneration.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Reflection.Emit.Lightweight.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Reflection.Emit.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Reflection.Extensions.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Reflection.Primitives.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Reflection.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Resources.Reader.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Resources.ResourceManager.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Resources.Writer.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.CompilerServices.VisualC.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.Extensions.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.Handles.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.InteropServices.RuntimeInformation.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.InteropServices.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.Numerics.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.Serialization.Formatters.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.Serialization.Json.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.Serialization.Primitives.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.Serialization.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.Serialization.Xml.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Security.Claims.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Security.Cryptography.Algorithms.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Security.Cryptography.Csp.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Security.Cryptography.Encoding.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Security.Cryptography.Primitives.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Security.Cryptography.X509Certificates.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Security.Principal.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Security.SecureString.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.ServiceModel.Web.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Text.Encoding.Extensions.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Text.Encoding.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Text.RegularExpressions.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Threading.Overlapped.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Threading.Tasks.Extensions.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Threading.Tasks.Parallel.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Threading.Tasks.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Threading.Thread.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Threading.ThreadPool.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Threading.Timer.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Threading.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Transactions.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.ValueTuple.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Web.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Windows.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.Linq.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.ReaderWriter.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.Serialization.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.XDocument.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.XmlDocument.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.XmlSerializer.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.XPath.XDocument.xml
+NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.XPath.xml
diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/smoke-tests/local.NuGet.Config b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/smoke-tests/local.NuGet.Config
new file mode 100644
index 000000000..7e093b8fb
--- /dev/null
+++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/smoke-tests/local.NuGet.Config
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/smoke-tests/online.NuGet.Config b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/smoke-tests/online.NuGet.Config
new file mode 100644
index 000000000..59db1a3f1
--- /dev/null
+++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/smoke-tests/online.NuGet.Config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/SourceBuild/tarball/content/smoke-test.sh b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/smoke-tests/smoke-test.sh
old mode 100755
new mode 100644
similarity index 59%
rename from src/SourceBuild/tarball/content/smoke-test.sh
rename to src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/smoke-tests/smoke-test.sh
index a8f6c2900..f82692071
--- a/src/SourceBuild/tarball/content/smoke-test.sh
+++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/smoke-tests/smoke-test.sh
@@ -54,7 +54,7 @@ excludeLocalTests=false
excludeOnlineTests=false
excludeOmniSharpTests=${excludeOmniSharpTests:-false}
devCertsVersion="$DEV_CERTS_VERSION_DEFAULT"
-testingDir="$SCRIPT_ROOT/testing-smoke"
+testingDir="$SCRIPT_ROOT/testing-smoke-$(date +"%m%d%H%M%S")"
cliDir="$testingDir/builtCli"
logsDir="$testingDir/logs"
logFile="$logsDir/smoke-test.log"
@@ -62,8 +62,8 @@ omnisharpLogFile="$logsDir/omnisharp.log"
restoredPackagesDir="$testingDir/packages"
testingHome="$testingDir/home"
archiveRestoredPackages=false
-archivedPackagesDir="$testingDir/smoke-test-packages"
-smokeTestPrebuilts="$SCRIPT_ROOT/packages/smoke-test-packages"
+smokeTestPrebuilts="$SCRIPT_ROOT/prereq-packages"
+nonSbSmokeTestPrebuilts="$SCRIPT_ROOT/non-source-built-prereq-packages"
runningOnline=false
runningHttps=false
@@ -84,10 +84,7 @@ function usage() {
echo " --excludeOnlineTests exclude test that use online sources for nuget packages"
echo " --excludeOmniSharpTests don't run the OmniSharp tests"
echo " --devCertsVersion use dotnet-dev-certs instead of default $DEV_CERTS_VERSION_DEFAULT"
- echo " --prodConBlobFeedUrl override the prodcon blob feed specified in ProdConFeed.txt, removing it if empty"
- echo " --archiveRestoredPackages capture all restored packages to $archivedPackagesDir"
- echo "environment:"
- echo " prodConBlobFeedUrl override the prodcon blob feed specified in ProdConFeed.txt, removing it if empty"
+ echo " --archiveRestoredPackages capture all restored packages to $smokeTestPrebuilts"
echo ""
}
@@ -148,10 +145,6 @@ while :; do
shift
devCertsVersion="$1"
;;
- --prodconblobfeedurl)
- shift
- prodConBlobFeedUrl="$1"
- ;;
--archiverestoredpackages)
archiveRestoredPackages=true
;;
@@ -165,8 +158,6 @@ while :; do
shift
done
-prodConBlobFeedUrl="${prodConBlobFeedUrl-}"
-
function doCommand() {
lang=$1
proj=$2
@@ -322,16 +313,19 @@ function runAllTests() {
doCommand C# console new restore build run multi-rid-publish
doCommand C# classlib new restore build multi-rid-publish
doCommand C# xunit new restore test
+ doCommand C# nunit new restore test
doCommand C# mstest new restore test
doCommand VB console new restore build run multi-rid-publish
doCommand VB classlib new restore build multi-rid-publish
doCommand VB xunit new restore test
+ doCommand VB nunit new restore test
doCommand VB mstest new restore test
doCommand F# console new restore build run multi-rid-publish
doCommand F# classlib new restore build multi-rid-publish
doCommand F# xunit new restore test
+ doCommand F# nunit new restore test
doCommand F# mstest new restore test
fi
@@ -362,247 +356,6 @@ function runWebTests() {
doCommand F# webapi "$@" new restore build run multi-rid-publish
}
-function runXmlDocTests() {
- targetingPacksDir="$dotnetDir/packs/"
- echo "Looking for xml docs in targeting packs in $targetingPacksDir"
-
- netstandardIgnoreList=(
- Microsoft.Win32.Primitives.xml
- mscorlib.xml
- System.AppContext.xml
- System.Buffers.xml
- System.Collections.Concurrent.xml
- System.Collections.NonGeneric.xml
- System.Collections.Specialized.xml
- System.Collections.xml
- System.ComponentModel.Composition.xml
- System.ComponentModel.EventBasedAsync.xml
- System.ComponentModel.Primitives.xml
- System.ComponentModel.TypeConverter.xml
- System.ComponentModel.xml
- System.Console.xml
- System.Core.xml
- System.Data.Common.xml
- System.Data.xml
- System.Diagnostics.Contracts.xml
- System.Diagnostics.Debug.xml
- System.Diagnostics.FileVersionInfo.xml
- System.Diagnostics.Process.xml
- System.Diagnostics.StackTrace.xml
- System.Diagnostics.TextWriterTraceListener.xml
- System.Diagnostics.Tools.xml
- System.Diagnostics.TraceSource.xml
- System.Diagnostics.Tracing.xml
- System.Drawing.Primitives.xml
- System.Drawing.xml
- System.Dynamic.Runtime.xml
- System.Globalization.Calendars.xml
- System.Globalization.Extensions.xml
- System.Globalization.xml
- System.IO.Compression.FileSystem.xml
- System.IO.Compression.xml
- System.IO.Compression.ZipFile.xml
- System.IO.FileSystem.DriveInfo.xml
- System.IO.FileSystem.Primitives.xml
- System.IO.FileSystem.Watcher.xml
- System.IO.FileSystem.xml
- System.IO.IsolatedStorage.xml
- System.IO.MemoryMappedFiles.xml
- System.IO.Pipes.xml
- System.IO.UnmanagedMemoryStream.xml
- System.IO.xml
- System.Linq.Expressions.xml
- System.Linq.Parallel.xml
- System.Linq.Queryable.xml
- System.Linq.xml
- System.Memory.xml
- System.Net.Http.xml
- System.Net.NameResolution.xml
- System.Net.NetworkInformation.xml
- System.Net.Ping.xml
- System.Net.Primitives.xml
- System.Net.Requests.xml
- System.Net.Security.xml
- System.Net.Sockets.xml
- System.Net.WebHeaderCollection.xml
- System.Net.WebSockets.Client.xml
- System.Net.WebSockets.xml
- System.Net.xml
- System.Numerics.Vectors.xml
- System.Numerics.xml
- System.ObjectModel.xml
- System.Reflection.DispatchProxy.xml
- System.Reflection.Emit.ILGeneration.xml
- System.Reflection.Emit.Lightweight.xml
- System.Reflection.Emit.xml
- System.Reflection.Extensions.xml
- System.Reflection.Primitives.xml
- System.Reflection.xml
- System.Resources.Reader.xml
- System.Resources.ResourceManager.xml
- System.Resources.Writer.xml
- System.Runtime.CompilerServices.VisualC.xml
- System.Runtime.Extensions.xml
- System.Runtime.Handles.xml
- System.Runtime.InteropServices.RuntimeInformation.xml
- System.Runtime.InteropServices.xml
- System.Runtime.Numerics.xml
- System.Runtime.Serialization.Formatters.xml
- System.Runtime.Serialization.Json.xml
- System.Runtime.Serialization.Primitives.xml
- System.Runtime.Serialization.xml
- System.Runtime.Serialization.Xml.xml
- System.Runtime.xml
- System.Security.Claims.xml
- System.Security.Cryptography.Algorithms.xml
- System.Security.Cryptography.Csp.xml
- System.Security.Cryptography.Encoding.xml
- System.Security.Cryptography.Primitives.xml
- System.Security.Cryptography.X509Certificates.xml
- System.Security.Principal.xml
- System.Security.SecureString.xml
- System.ServiceModel.Web.xml
- System.Text.Encoding.Extensions.xml
- System.Text.Encoding.xml
- System.Text.RegularExpressions.xml
- System.Threading.Overlapped.xml
- System.Threading.Tasks.Extensions.xml
- System.Threading.Tasks.Parallel.xml
- System.Threading.Tasks.xml
- System.Threading.ThreadPool.xml
- System.Threading.Thread.xml
- System.Threading.Timer.xml
- System.Threading.xml
- System.Transactions.xml
- System.ValueTuple.xml
- System.Web.xml
- System.Windows.xml
- System.xml
- System.Xml.Linq.xml
- System.Xml.ReaderWriter.xml
- System.Xml.Serialization.xml
- System.Xml.XDocument.xml
- System.Xml.xml
- System.Xml.XmlDocument.xml
- System.Xml.XmlSerializer.xml
- System.Xml.XPath.XDocument.xml
- System.Xml.XPath.xml
- )
-
- netcoreappIgnoreList=(
- mscorlib.xml
- Microsoft.VisualBasic.xml
- System.AppContext.xml
- System.Buffers.xml
- System.ComponentModel.DataAnnotations.xml
- System.Configuration.xml
- System.Core.xml
- System.Data.DataSetExtensions.xml
- System.Data.xml
- System.Diagnostics.Debug.xml
- System.Diagnostics.Tools.xml
- System.Drawing.xml
- System.Dynamic.Runtime.xml
- System.Globalization.Calendars.xml
- System.Globalization.Extensions.xml
- System.Globalization.xml
- System.IO.Compression.Brotli.xml
- System.IO.Compression.FileSystem.xml
- System.IO.FileSystem.xml
- System.IO.FileSystem.Primitives.xml
- System.IO.UnmanagedMemoryStream.xml
- System.IO.xml
- System.Net.xml
- System.Numerics.xml
- System.Numerics.Vectors.xml
- System.Reflection.Extensions.xml
- System.Reflection.xml
- System.Resources.Reader.xml
- System.Resources.ResourceManager.xml
- System.Runtime.Extensions.xml
- System.Runtime.Handles.xml
- System.Runtime.Serialization.xml
- System.Security.Principal.xml
- System.Security.SecureString.xml
- System.Security.xml
- System.ServiceModel.Web.xml
- System.ServiceProcess.xml
- System.Text.Encoding.xml
- System.Text.Json.SourceGeneration.resources.xml
- System.Text.Json.SourceGeneration.xml
- System.Threading.Tasks.Extensions.xml
- System.Threading.Tasks.xml
- System.Threading.Timer.xml
- System.Transactions.xml
- System.ValueTuple.xml
- System.Web.xml
- System.Windows.xml
- System.xml
- System.Xml.Linq.xml
- System.Xml.Serialization.xml
- System.Xml.xml
- System.Xml.XmlDocument.xml
- WindowsBase.xml
- )
-
- aspnetcoreappIgnoreList=(
- Microsoft.AspNetCore.App.Analyzers.xml
- Microsoft.AspNetCore.App.CodeFixes.xml
- Microsoft.Extensions.Logging.Generators.resources.xml
- Microsoft.Extensions.Logging.Generators.xml
- )
-
- error=0
- while IFS= read -r -d '' dllFile; do
- xmlDocFile=${dllFile%.*}.xml
- skip=0
- if [[ "$xmlDocFile" == *"/packs/Microsoft.NETCore.App.Ref"* ]]; then
- xmlFileBasename=$(basename "$xmlDocFile")
- for ignoreItem in "${netcoreappIgnoreList[@]}"; do
- if [[ "$ignoreItem" == "$xmlFileBasename" ]]; then
- skip=1;
- break
- fi
- done
- fi
- if [[ "$xmlDocFile" == *"/packs/NETStandard.Library.Ref"* ]]; then
- xmlFileBasename=$(basename "$xmlDocFile")
- for ignoreItem in "${netstandardIgnoreList[@]}"; do
- if [[ "$ignoreItem" == "$xmlFileBasename" ]]; then
- skip=1;
- break
- fi
- done
- fi
- if [[ "$xmlDocFile" == *"/packs/Microsoft.AspNetCore.App.Ref"* ]]; then
- xmlFileBasename=$(basename "$xmlDocFile")
- for ignoreItem in "${aspnetcoreappIgnoreList[@]}"; do
- if [[ "$ignoreItem" == "$xmlFileBasename" ]]; then
- skip=1;
- break
- fi
- done
- fi
- if [[ $skip == 0 ]] && [[ ! -f "$xmlDocFile" ]]; then
- error=1
- echo "error: missing $xmlDocFile"
- fi
-
- if [[ $skip == 1 ]] && [[ -f "$xmlDocFile" ]]; then
- error=1
- echo "error: Ignored xml doc was found: $xmlDocFile"
- fi
-
- done < <(find "$targetingPacksDir" -name '*.dll' -print0)
-
- if [[ $error != 0 ]]; then
- echo "error: Missing or unexpected xml documents"
- exit 1
- else
- echo "All expected xml docs are present"
- fi
-}
-
function runOmniSharpTests() {
dotnetCmd=${dotnetDir}/dotnet
@@ -617,8 +370,7 @@ function runOmniSharpTests() {
tar xf "../omnisharp-linux-x64.tar.gz"
popd
- # 'blazorwasm' requires prereqs (non-source-built packages) - re-enable with https://github.com/dotnet/source-build/issues/2550
- for project in blazorserver classlib console mstest mvc nunit web webapp webapi worker xunit ; do
+ for project in blazorwasm blazorserver classlib console mstest mvc nunit web webapp webapi worker xunit ; do
mkdir hello-$project
pushd hello-$project
@@ -668,18 +420,10 @@ function resetCaches() {
fi
}
-function setupProdConFeed() {
- if [ "$prodConBlobFeedUrl" ]; then
- sed -i.bakProdCon "s|PRODUCT_CONTRUCTION_PACKAGES|$prodConBlobFeedUrl|g" "$testingDir/NuGet.Config"
- else
- sed -i.bakProdCon "/PRODUCT_CONTRUCTION_PACKAGES/d" "$testingDir/NuGet.Config"
- fi
-}
-
function setupSmokeTestFeed() {
# Setup smoke-test-packages if they exist
- if [ -e "$smokeTestPrebuilts" ]; then
- sed -i.bakSmokeTestFeed "s|SMOKE_TEST_PACKAGE_FEED|$smokeTestPrebuilts|g" "$testingDir/NuGet.Config"
+ if [ -e "$nonSbSmokeTestPrebuilts" ]; then
+ sed -i.bakSmokeTestFeed "s|SMOKE_TEST_PACKAGE_FEED|$nonSbSmokeTestPrebuilts|g" "$testingDir/NuGet.Config"
else
sed -i.bakSmokeTestFeed "/SMOKE_TEST_PACKAGE_FEED/d" "$testingDir/NuGet.Config"
fi
@@ -687,8 +431,21 @@ function setupSmokeTestFeed() {
function copyRestoredPackages() {
if [ "$archiveRestoredPackages" == "true" ]; then
- mkdir -p "$archivedPackagesDir"
- cp -rf "$restoredPackagesDir"/* "$archivedPackagesDir"
+ rm -rf "$smokeTestPrebuilts"
+ rm -rf "$nonSbSmokeTestPrebuilts"
+ mkdir -p "$smokeTestPrebuilts"
+ mkdir -p "$nonSbSmokeTestPrebuilts"
+ find "$restoredPackagesDir" -iname "*.nupkg" -exec mv {} "$smokeTestPrebuilts" \;
+
+ smokeTestPackages=$(find "$smokeTestPrebuilts" -iname "*.nupkg" -type f -printf "%f\n" | tr '[A-Z]' '[a-z]' | sort)
+ sourceBuiltPackages=$(find "$SOURCE_BUILT_PKGS_PATH" -iname "*.nupkg" -type f -printf "%f\n" | tr '[A-Z]' '[a-z]' | sort)
+
+ echo "Removing smoke-test prereq packages that are source built:"
+ comm -23 <(printf "$smokeTestPackages") <(printf "$sourceBuiltPackages") | while read line
+ do
+ echo "$line"
+ cp "$smokeTestPrebuilts/$line" "$nonSbSmokeTestPrebuilts"
+ done
fi
}
@@ -701,11 +458,7 @@ fi
# Clean up and create directory
if [ -e "$testingDir" ]; then
- read -p "testing-smoke directory exists, remove it? [Y]es / [n]o" -n 1 -r
- echo
- if [[ $REPLY == "" || $REPLY == " " || $REPLY =~ ^[Yy]$ ]]; then
- rm -rf "$testingDir"
- fi
+ rm -rf "$testingDir"
fi
mkdir -p "$testingDir"
@@ -717,7 +470,7 @@ echo "" | tee Directory.Build.props > Directory.Build.targets
# Unzip dotnet if the dotnetDir is not specified
if [ "$dotnetDir" == "" ]; then
- OUTPUT_DIR="$SCRIPT_ROOT/artifacts/$buildArch/$configuration/"
+ OUTPUT_DIR="$ARTIFACTS_DIR$buildArch/$configuration/"
DOTNET_TARBALL="$(ls "${OUTPUT_DIR}${TARBALL_PREFIX}${VERSION_PREFIX}"*)"
mkdir -p "$cliDir"
@@ -734,38 +487,17 @@ echo SDK under test is:
# setup restore path
export NUGET_PACKAGES="$restoredPackagesDir"
-SOURCE_BUILT_PKGS_PATH="$SCRIPT_ROOT/artifacts/obj/$buildArch/$configuration/blob-feed/packages/"
+SOURCE_BUILT_PKGS_PATH="${ARTIFACTS_DIR}obj/$buildArch/$configuration/blob-feed/packages/"
export DOTNET_ROOT="$dotnetDir"
export PATH="$dotnetDir:$PATH"
-# Run all tests, local restore sources first, online restore sources second
-if [ "$excludeLocalTests" == "false" ]; then
- resetCaches
- runningOnline=false
- # Setup NuGet.Config with local restore source
- if [ -e "$SCRIPT_ROOT/smoke-testNuGet.Config" ]; then
- cp "$SCRIPT_ROOT/smoke-testNuGet.Config" "$testingDir/NuGet.Config"
- sed -i.bak "s|SOURCE_BUILT_PACKAGES|$SOURCE_BUILT_PKGS_PATH|g" "$testingDir/NuGet.Config"
- setupProdConFeed
- setupSmokeTestFeed
- echo "$testingDir/NuGet.Config Contents:"
- cat "$testingDir/NuGet.Config"
- fi
- echo "RUN ALL TESTS - LOCAL RESTORE SOURCE"
- runAllTests
- copyRestoredPackages
- echo "LOCAL RESTORE SOURCE - ALL TESTS PASSED!"
-fi
-
+# Run all tests, online restore sources first, local restore sources second
if [ "$excludeOnlineTests" == "false" ]; then
resetCaches
runningOnline=true
# Setup NuGet.Config to use online restore sources
- if [ -e "$SCRIPT_ROOT/smoke-testNuGet.Config" ]; then
- cp "$SCRIPT_ROOT/smoke-testNuGet.Config" "$testingDir/NuGet.Config"
- sed -i.bak "/SOURCE_BUILT_PACKAGES/d" "$testingDir/NuGet.Config"
- setupProdConFeed
- setupSmokeTestFeed
+ if [ -e "$SCRIPT_ROOT/online.NuGet.Config" ]; then
+ cp "$SCRIPT_ROOT/online.NuGet.Config" "$testingDir/NuGet.Config"
echo "$testingDir/NuGet.Config Contents:"
cat "$testingDir/NuGet.Config"
fi
@@ -775,7 +507,21 @@ if [ "$excludeOnlineTests" == "false" ]; then
echo "ONLINE RESTORE SOURCE - ALL TESTS PASSED!"
fi
-runXmlDocTests
+if [ "$excludeLocalTests" == "false" ]; then
+ resetCaches
+ runningOnline=false
+ # Setup NuGet.Config with local restore source
+ if [ -e "$SCRIPT_ROOT/local.NuGet.Config" ]; then
+ cp "$SCRIPT_ROOT/local.NuGet.Config" "$testingDir/NuGet.Config"
+ sed -i.bak "s|SOURCE_BUILT_PACKAGES|$SOURCE_BUILT_PKGS_PATH|g" "$testingDir/NuGet.Config"
+ setupSmokeTestFeed
+ echo "$testingDir/NuGet.Config Contents:"
+ cat "$testingDir/NuGet.Config"
+ fi
+ echo "RUN ALL TESTS - LOCAL RESTORE SOURCE"
+ runAllTests
+ echo "LOCAL RESTORE SOURCE - ALL TESTS PASSED!"
+fi
if [ "$excludeOmniSharpTests" == "false" ]; then
runOmniSharpTests
diff --git a/src/SourceBuild/tarball/patches/arcade/0008-Bootstrapping-workaround.patch b/src/SourceBuild/tarball/patches/arcade/0008-Bootstrapping-workaround.patch
deleted file mode 100644
index cfb166328..000000000
--- a/src/SourceBuild/tarball/patches/arcade/0008-Bootstrapping-workaround.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 1d34d8396b9c2968163802036ed102e18ef14605 Mon Sep 17 00:00:00 2001
-From: Michael Simons
-Date: Fri, 10 Sep 2021 13:57:38 +0000
-Subject: [PATCH] Bootstrapping workaround
-
-Temporary workaround until source-build is built with recent source-built.
- /repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/src/Microsoft.DotNet.CodeAnalysis/Microsoft.DotNet.CodeAnalysis.csproj : error NU1603: Microsoft.CodeAnalysis.Common 4.0.0-5.21453.15 depends on System.Runtime.CompilerServices.Unsafe (>= 6.0.0-rc.1.21415.6) but System.Runtime.CompilerServices.Unsafe 6.0.0-rc.1.21415.6 was not found. An approximate best match of System.Runtime.CompilerServices.Unsafe 6.0.0-rc.2.21457.6 was resolved. [/repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/Arcade.sln]
- /repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/src/Microsoft.DotNet.PackageTesting/Microsoft.DotNet.PackageTesting.csproj : error NU1603: Microsoft.CodeAnalysis.Common 4.0.0-5.21453.15 depends on System.Runtime.CompilerServices.Unsafe (>= 6.0.0-rc.1.21415.6) but System.Runtime.CompilerServices.Unsafe 6.0.0-rc.1.21415.6 was not found. An approximate best match of System.Runtime.CompilerServices.Unsafe 6.0.0-rc.2.21457.6 was resolved. [/repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/Arcade.sln]
- /repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/src/Microsoft.DotNet.GenFacades/Microsoft.DotNet.GenFacades.csproj : error NU1603: Microsoft.CodeAnalysis.Common 4.0.0-5.21453.15 depends on System.Runtime.CompilerServices.Unsafe (>= 6.0.0-rc.1.21415.6) but System.Runtime.CompilerServices.Unsafe 6.0.0-rc.1.21415.6 was not found. An approximate best match of System.Runtime.CompilerServices.Unsafe 6.0.0-rc.2.21457.6 was resolved. [/repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/Arcade.sln]
-
----
- Directory.Build.props | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/Directory.Build.props b/Directory.Build.props
-index 37feef5..c5aee85 100644
---- a/Directory.Build.props
-+++ b/Directory.Build.props
-@@ -18,6 +18,10 @@
- false
-
-
-+
-+ $(NoWarn);NU1603
-+
-+
-
-
+- false
+- true
++ true
+
+
-
-
-- 5.0.0
-
- 6.0.0-preview.4.221
-
-@@ -25,9 +24,9 @@
-
-
-
--
--
--
-+
-+
-+
-
-
-
-diff --git a/eng/Versions.props b/eng/Versions.props
-index b1990aa..f6ddbbd 100644
---- a/eng/Versions.props
-+++ b/eng/Versions.props
-@@ -15,6 +15,7 @@
-
- 16.11.0
- 3.3.2
-+ 5.0.0
-
- 4.0.0-6.21526.21
-
-diff --git a/src/Logging/SimpleConsoleLogger.cs b/src/Logging/SimpleConsoleLogger.cs
-index c361f84..fd8015c 100644
---- a/src/Logging/SimpleConsoleLogger.cs
-+++ b/src/Logging/SimpleConsoleLogger.cs
-@@ -37,7 +37,7 @@ namespace Microsoft.CodeAnalysis.Tools.Logging
- _minimalErrorLevel = minimalErrorLevel;
- }
-
-- public void Log(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func formatter)
-+ public void Log(LogLevel logLevel, EventId eventId, TState state, Exception? exception, Func formatter)
- {
- if (!IsEnabled(logLevel))
- {
diff --git a/src/SourceBuild/tarball/patches/format/0002-Update-system-command-line-version.patch b/src/SourceBuild/tarball/patches/format/0002-Update-system-command-line-version.patch
deleted file mode 100644
index 68917950e..000000000
--- a/src/SourceBuild/tarball/patches/format/0002-Update-system-command-line-version.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Michael Simons
-Date: Fri, 19 Nov 2021 13:50:52 -0600
-Subject: [PATCH] Update system-command-line version
-
-Backported with https://github.com/dotnet/format/pull/1436
----
- eng/Version.Details.xml | 8 ++++----
- eng/Versions.props | 4 ++--
- src/Commands/FormatAnalyzersCommand.cs | 4 ++--
- src/Commands/FormatCommandCommon.cs | 12 ++++++------
- src/Commands/FormatStyleCommand.cs | 4 ++--
- src/Commands/RootFormatCommand.cs | 4 ++--
- 6 files changed, 18 insertions(+), 18 deletions(-)
-
-diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
-index 48b181b..68c0b43 100644
---- a/eng/Version.Details.xml
-+++ b/eng/Version.Details.xml
-@@ -5,13 +5,13 @@
- https://github.com/dotnet/roslyn
- c7d6f9fab845ffd943216da465022744e7d35f22
-
--
-+
- https://github.com/dotnet/command-line-api
-- 82273cb56c83b589e8e5b63da0ac9745ffc6e105
-+ 09a24a79ef01a0c70655919ee3c59bb54a8574df
-
--
-+
- https://github.com/dotnet/command-line-api
-- 82273cb56c83b589e8e5b63da0ac9745ffc6e105
-+ 09a24a79ef01a0c70655919ee3c59bb54a8574df
-
-
-
-diff --git a/eng/Versions.props b/eng/Versions.props
-index 2758207..6a02917 100644
---- a/eng/Versions.props
-+++ b/eng/Versions.props
-@@ -18,8 +18,8 @@
-
- 4.0.0-6.21526.21
-
-- 2.0.0-beta1.21473.1
-- 0.3.0-alpha.21473.1
-+ 2.0.0-beta1.21525.1
-+ 0.3.0-alpha.21525.1
-
-
-
--
-+
-
-
-
-\ No newline at end of file
diff --git a/src/SourceBuild/tarball/patches/linker/0003-Upgrade-Microsoft.NETFramework.ReferenceAssemblies-f.patch b/src/SourceBuild/tarball/patches/linker/0003-Upgrade-Microsoft.NETFramework.ReferenceAssemblies-f.patch
deleted file mode 100644
index 8458c20e5..000000000
--- a/src/SourceBuild/tarball/patches/linker/0003-Upgrade-Microsoft.NETFramework.ReferenceAssemblies-f.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Michael Simons
-Date: Wed, 20 Oct 2021 14:38:14 +0000
-Subject: [PATCH 1/2] Upgrade Microsoft.NETFramework.ReferenceAssemblies from
- 1.0.0 to 1.0.2
-
-Backport PR: https://github.com/dotnet/linker/pull/2326
----
- src/ILLink.Tasks/ILLink.Tasks.csproj | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/ILLink.Tasks/ILLink.Tasks.csproj b/src/ILLink.Tasks/ILLink.Tasks.csproj
-index 0ecf5d1..7501ecb 100644
---- a/src/ILLink.Tasks/ILLink.Tasks.csproj
-+++ b/src/ILLink.Tasks/ILLink.Tasks.csproj
-@@ -53,6 +53,6 @@
-
-
-
--
-+
-
-
diff --git a/src/SourceBuild/tarball/patches/sdk/0001-Build-Microsoft.NET.Build.Tasks-for-netfx.patch b/src/SourceBuild/tarball/patches/sdk/0001-Build-Microsoft.NET.Build.Tasks-for-netfx.patch
deleted file mode 100644
index b128d21f3..000000000
--- a/src/SourceBuild/tarball/patches/sdk/0001-Build-Microsoft.NET.Build.Tasks-for-netfx.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 3540e85a194dda1e5448e0aab3212c8aeb5a1aff Mon Sep 17 00:00:00 2001
-From: Eric Erhardt
-Date: Fri, 22 Oct 2021 20:48:25 +0000
-Subject: [PATCH] Build Microsoft.NET.Build.Tasks for netfx
-
-Required for omnisharp to work with a source-built .NET SDK.
-
-Patch removal issue: https://github.com/dotnet/sdk/issues/22281
----
- .../Microsoft.DotNet.Compatibility.csproj | 1 -
- .../Microsoft.DotNet.PackageValidation.csproj | 1 -
- .../Microsoft.NET.Build.Extensions.Tasks.csproj | 1 -
- .../Microsoft.NET.Build.Tasks/Microsoft.NET.Build.Tasks.csproj | 1 -
- 4 files changed, 4 deletions(-)
-
-diff --git a/src/Compatibility/Microsoft.DotNet.Compatibility/Microsoft.DotNet.Compatibility.csproj b/src/Compatibility/Microsoft.DotNet.Compatibility/Microsoft.DotNet.Compatibility.csproj
-index 92624be845..f9f8e46329 100644
---- a/src/Compatibility/Microsoft.DotNet.Compatibility/Microsoft.DotNet.Compatibility.csproj
-+++ b/src/Compatibility/Microsoft.DotNet.Compatibility/Microsoft.DotNet.Compatibility.csproj
-@@ -2,7 +2,6 @@
-
-
- net6.0;net472
-- net6.0
- true
- true
- Open
-diff --git a/src/Compatibility/Microsoft.DotNet.PackageValidation/Microsoft.DotNet.PackageValidation.csproj b/src/Compatibility/Microsoft.DotNet.PackageValidation/Microsoft.DotNet.PackageValidation.csproj
-index 7a8b648652..4241f4577e 100644
---- a/src/Compatibility/Microsoft.DotNet.PackageValidation/Microsoft.DotNet.PackageValidation.csproj
-+++ b/src/Compatibility/Microsoft.DotNet.PackageValidation/Microsoft.DotNet.PackageValidation.csproj
-@@ -2,7 +2,6 @@
-
-
- net6.0;net472
-- net6.0
- Open
-
-
-diff --git a/src/Tasks/Microsoft.NET.Build.Extensions.Tasks/Microsoft.NET.Build.Extensions.Tasks.csproj b/src/Tasks/Microsoft.NET.Build.Extensions.Tasks/Microsoft.NET.Build.Extensions.Tasks.csproj
-index 13ada82225..280fbdc83e 100644
---- a/src/Tasks/Microsoft.NET.Build.Extensions.Tasks/Microsoft.NET.Build.Extensions.Tasks.csproj
-+++ b/src/Tasks/Microsoft.NET.Build.Extensions.Tasks/Microsoft.NET.Build.Extensions.Tasks.csproj
-@@ -16,7 +16,6 @@
- Library
- Microsoft.NET.Build.Tasks
- $(SdkTargetFramework);net472
-- $(SdkTargetFramework)
-
-
-
-diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/Microsoft.NET.Build.Tasks.csproj b/src/Tasks/Microsoft.NET.Build.Tasks/Microsoft.NET.Build.Tasks.csproj
-index 604ef43bf2..bce39c67d4 100644
---- a/src/Tasks/Microsoft.NET.Build.Tasks/Microsoft.NET.Build.Tasks.csproj
-+++ b/src/Tasks/Microsoft.NET.Build.Tasks/Microsoft.NET.Build.Tasks.csproj
-@@ -13,7 +13,6 @@
- The MSBuild targets and properties for building .NET Core projects.
- Library
- $(SdkTargetFramework);net472
-- $(SdkTargetFramework)
- annotations
-
-
---
-2.31.1
-
diff --git a/src/redist/targets/BundledManifests.targets b/src/redist/targets/BundledManifests.targets
index b83c642f3..6e8361d80 100644
--- a/src/redist/targets/BundledManifests.targets
+++ b/src/redist/targets/BundledManifests.targets
@@ -1,13 +1,13 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/src/redist/targets/GenerateBundledVersions.targets b/src/redist/targets/GenerateBundledVersions.targets
index 425337024..1cf223da9 100644
--- a/src/redist/targets/GenerateBundledVersions.targets
+++ b/src/redist/targets/GenerateBundledVersions.targets
@@ -26,8 +26,8 @@
30
- $([MSBuild]::Add($(VersionFeature), 21))
- $([MSBuild]::Add($(VersionFeature), 12))
+ $([MSBuild]::Add($(VersionFeature), 22))
+ $([MSBuild]::Add($(VersionFeature), 14))
diff --git a/src/redist/targets/GenerateLayout.targets b/src/redist/targets/GenerateLayout.targets
index a26cad868..a6a968ae9 100644
--- a/src/redist/targets/GenerateLayout.targets
+++ b/src/redist/targets/GenerateLayout.targets
@@ -32,7 +32,7 @@
$(RedistLayoutPath)sdk\$(Version)\
true
- https://dotnetclimsrc.blob.core.windows.net/dotnet/
+ https://dotnetbuilds.blob.core.windows.net/internal/
https://dotnetcli.blob.core.windows.net/dotnet/