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 a8ebad0d7..65cc45d4f 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
@@ -86,6 +86,12 @@ jobs:
artifact: $(Agent.JobName)_Artifacts_Attempt$(System.JobAttempt)
displayName: Publish Source Build Artifacts
+ - script: |
+ set -x
+
+ docker run --rm -v $(_TarballDir):/tarball -w /tarball $(_Container) ./build.sh --run-smoke-test
+ displayName: Run Tests
+
- template: /src/SourceBuild/Arcade/eng/common/templates/steps/source-build-publish-logs.yml
parameters:
sourceFolder: $(_TarballDir)
diff --git a/src/SourceBuild/tarball/content/Directory.Build.props b/src/SourceBuild/tarball/content/Directory.Build.props
index 9884006f8..aaa8a1b1d 100644
--- a/src/SourceBuild/tarball/content/Directory.Build.props
+++ b/src/SourceBuild/tarball/content/Directory.Build.props
@@ -82,7 +82,6 @@
$(ProjectDir)src/
$(ProjectDir).gitmodules
- $(ProjectDir)ProdConFeed.txt
diff --git a/src/SourceBuild/tarball/content/Directory.Build.targets b/src/SourceBuild/tarball/content/Directory.Build.targets
index 15a75864c..02ff624bc 100644
--- a/src/SourceBuild/tarball/content/Directory.Build.targets
+++ b/src/SourceBuild/tarball/content/Directory.Build.targets
@@ -12,11 +12,4 @@
-
-
- $([System.IO.File]::ReadAllText('$(ProdConFeedPath)').Trim())
- $(ProdConBlobFeedUrl.Replace('https://dotnetfeed.blob.core.windows.net/', '$(ProdConBlobFeedUrlPrefix)'))
-
-
-
diff --git a/src/SourceBuild/tarball/content/build.proj b/src/SourceBuild/tarball/content/build.proj
index 40d416adc..117a13675 100644
--- a/src/SourceBuild/tarball/content/build.proj
+++ b/src/SourceBuild/tarball/content/build.proj
@@ -90,7 +90,7 @@
-
+
./smoke-test.sh
$(SmokeTestCommand) --minimal
@@ -102,15 +102,9 @@
$(SmokeTestCommand) --excludeWebHttpsTests
-
+ targetRid=$(TargetRid)" />
diff --git a/src/SourceBuild/tarball/content/build.sh b/src/SourceBuild/tarball/content/build.sh
index 21c366fe1..f33b95575 100755
--- a/src/SourceBuild/tarball/content/build.sh
+++ b/src/SourceBuild/tarball/content/build.sh
@@ -8,6 +8,7 @@ usage() {
echo " --online build using online sources"
echo " --with-packages use the specified directory of previously-built packages"
echo " --with-sdk use the SDK in the specified directory for bootstrapping"
+ echo " --run-smoke-test don't build; run smoke tests"
echo "use -- to send the remaining arguments to MSBuild"
echo ""
}
diff --git a/src/SourceBuild/tarball/content/patches/test-templates/0001-Fix-incorrect-casing-in-project-file.patch b/src/SourceBuild/tarball/content/patches/test-templates/0001-Fix-incorrect-casing-in-project-file.patch
new file mode 100644
index 000000000..7cf045297
--- /dev/null
+++ b/src/SourceBuild/tarball/content/patches/test-templates/0001-Fix-incorrect-casing-in-project-file.patch
@@ -0,0 +1,26 @@
+From 6ad75d442b6f7edc07095f417dd592be5ef04eb2 Mon Sep 17 00:00:00 2001
+From: Michael Simons
+Date: Wed, 22 Sep 2021 21:44:13 +0000
+Subject: [PATCH] Fix incorrect casing in project file
+
+See https://github.com/dotnet/test-templates/issues/186 for details.
+---
+ .../Microsoft.DotNet.Test.ProjectTemplates.6.0.csproj | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/template_feed/Microsoft.DotNet.Test.ProjectTemplates.6.0/Microsoft.DotNet.Test.ProjectTemplates.6.0.csproj b/template_feed/Microsoft.DotNet.Test.ProjectTemplates.6.0/Microsoft.DotNet.Test.ProjectTemplates.6.0.csproj
+index 38bc616..bc4ca48 100644
+--- a/template_feed/Microsoft.DotNet.Test.ProjectTemplates.6.0/Microsoft.DotNet.Test.ProjectTemplates.6.0.csproj
++++ b/template_feed/Microsoft.DotNet.Test.ProjectTemplates.6.0/Microsoft.DotNet.Test.ProjectTemplates.6.0.csproj
+@@ -24,7 +24,7 @@
+
+
+
+-
++
+ content
+
+
+--
+2.29.2
+
diff --git a/src/SourceBuild/tarball/content/smoke-test.sh b/src/SourceBuild/tarball/content/smoke-test.sh
index c97da1044..978048fa8 100755
--- a/src/SourceBuild/tarball/content/smoke-test.sh
+++ b/src/SourceBuild/tarball/content/smoke-test.sh
@@ -3,10 +3,10 @@ set -euo pipefail
SCRIPT_ROOT="$(cd -P "$( dirname "$0" )" && pwd)"
TARBALL_PREFIX=dotnet-sdk-
-VERSION_PREFIX=5.0
+VERSION_PREFIX=6.0
# See https://github.com/dotnet/source-build/issues/579, this version
# needs to be compatible with the runtime produced from source-build
-DEV_CERTS_VERSION_DEFAULT=5.0.0-preview.3
+DEV_CERTS_VERSION_DEFAULT=6.0.0-preview.6.21355.2
__ROOT_REPO=$(sed 's/\r$//' "$SCRIPT_ROOT/artifacts/obj/rootrepo.txt") # remove CR if mounted repo on Windows drive
executingUserHome=${HOME:-}
@@ -155,7 +155,7 @@ while :; do
shift
done
-prodConBlobFeedUrl="${prodConBlobFeedUrl-$(cat "$SCRIPT_ROOT/ProdConFeed.txt")}"
+prodConBlobFeedUrl="${prodConBlobFeedUrl-}"
function doCommand() {
lang=$1
@@ -165,8 +165,11 @@ function doCommand() {
echo "starting language $lang, type $proj" | tee -a smoke-test.log
dotnetCmd=${dotnetDir}/dotnet
- mkdir "${lang}_${proj}"
- cd "${lang}_${proj}"
+
+ # rename '#'' to 'Sharp' to workaround https://github.com/dotnet/aspnetcore/issues/36900
+ projectDir="${lang//"#"/"Sharp"}_${proj}"
+ mkdir "${projectDir}"
+ cd "${projectDir}"
newArgs="new $proj -lang $lang"
@@ -200,7 +203,7 @@ function doCommand() {
binlogHttpsPart="https"
fi
- binlogPrefix="$testingDir/${lang}_${proj}_${binlogOnlinePart}_${binlogHttpsPart}_"
+ binlogPrefix="$testingDir/${projectDir}_${binlogOnlinePart}_${binlogHttpsPart}_"
binlog="${binlogPrefix}$1.binlog"
echo " running $1" | tee -a "$logFile"
@@ -270,7 +273,7 @@ function doCommand() {
cd ..
if [ "$keepProjects" == "false" ]; then
- rm -rf "${lang}_${proj}"
+ rm -rf "${projectDir}"
fi
echo "finished language $lang, type $proj" | tee -a smoke-test.log
@@ -507,6 +510,129 @@ function runXmlDocTests() {
System.Xml.Serialization.xml
System.Xml.xml
System.Xml.XmlDocument.xml
+ Microsoft.CSharp.xml
+ # Added temporarily due to https://github.com/dotnet/source-build/issues/2404
+ Microsoft.VisualBasic.Core.xml
+ Microsoft.Win32.Primitives.xml
+ Microsoft.Win32.Registry.xml
+ System.Collections.Concurrent.xml
+ System.Collections.Immutable.xml
+ System.Collections.NonGeneric.xml
+ System.Collections.Specialized.xml
+ System.Collections.xml
+ System.ComponentModel.Annotations.xml
+ System.ComponentModel.EventBasedAsync.xml
+ System.ComponentModel.Primitives.xml
+ System.ComponentModel.TypeConverter.xml
+ System.ComponentModel.xml
+ System.Console.xml
+ System.Data.Common.xml
+ System.Diagnostics.Contracts.xml
+ System.Diagnostics.DiagnosticSource.xml
+ System.Diagnostics.FileVersionInfo.xml
+ System.Diagnostics.Process.xml
+ System.Diagnostics.StackTrace.xml
+ System.Diagnostics.TextWriterTraceListener.xml
+ System.Diagnostics.TraceSource.xml
+ System.Diagnostics.Tracing.xml
+ System.Drawing.Primitives.xml
+ System.Formats.Asn1.xml
+ System.IO.Compression.Brotli.xml
+ System.IO.Compression.ZipFile.xml
+ System.IO.Compression.xml
+ System.IO.FileSystem.AccessControl.xml
+ System.IO.FileSystem.DriveInfo.xml
+ System.IO.FileSystem.Watcher.xml
+ System.IO.FileSystem.xml
+ System.IO.IsolatedStorage.xml
+ System.IO.MemoryMappedFiles.xml
+ System.IO.Pipes.AccessControl.xml
+ System.IO.Pipes.xml
+ System.Linq.Expressions.xml
+ System.Linq.Parallel.xml
+ System.Linq.Queryable.xml
+ System.Linq.xml
+ System.Memory.xml
+ System.Net.Http.Json.xml
+ System.Net.Http.xml
+ System.Net.HttpListener.xml
+ System.Net.Mail.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.ServicePoint.xml
+ System.Net.Sockets.xml
+ System.Net.WebClient.xml
+ System.Net.WebHeaderCollection.xml
+ System.Net.WebProxy.xml
+ System.Net.WebSockets.Client.xml
+ System.Net.WebSockets.xml
+ System.Numerics.Vectors.xml
+ System.ObjectModel.xml
+ System.Reflection.DispatchProxy.xml
+ System.Reflection.Emit.ILGeneration.xml
+ System.Reflection.Emit.Lightweight.xml
+ System.Reflection.Emit.xml
+ System.Reflection.Metadata.xml
+ System.Reflection.Primitives.xml
+ System.Reflection.TypeExtensions.xml
+ System.Resources.Writer.xml
+ System.Runtime.CompilerServices.Unsafe.xml
+ System.Runtime.CompilerServices.VisualC.xml
+ System.Runtime.InteropServices.RuntimeInformation.xml
+ System.Runtime.InteropServices.xml
+ System.Runtime.Intrinsics.xml
+ System.Runtime.Loader.xml
+ System.Runtime.Numerics.xml
+ System.Runtime.Serialization.Formatters.xml
+ System.Runtime.Serialization.Json.xml
+ System.Runtime.Serialization.Primitives.xml
+ System.Runtime.Serialization.Xml.xml
+ System.Runtime.xml
+ System.Security.AccessControl.xml
+ System.Security.Claims.xml
+ System.Security.Cryptography.Algorithms.xml
+ System.Security.Cryptography.Cng.xml
+ System.Security.Cryptography.Csp.xml
+ System.Security.Cryptography.Encoding.xml
+ System.Security.Cryptography.OpenSsl.xml
+ System.Security.Cryptography.Primitives.xml
+ System.Security.Cryptography.X509Certificates.xml
+ System.Security.Principal.Windows.xml
+ System.Text.Encoding.CodePages.xml
+ System.Text.Encoding.Extensions.xml
+ System.Text.Encodings.Web.xml
+ System.Text.Json.xml
+ System.Text.Json.SourceGeneration.xml
+ System.Text.Json.SourceGeneration.resources.xml
+ System.Text.RegularExpressions.xml
+ System.Threading.Channels.xml
+ System.Threading.Overlapped.xml
+ System.Threading.Tasks.Dataflow.xml
+ System.Threading.Tasks.Parallel.xml
+ System.Threading.Thread.xml
+ System.Threading.ThreadPool.xml
+ System.Threading.xml
+ System.Transactions.Local.xml
+ System.Web.HttpUtility.xml
+ System.Xml.ReaderWriter.xml
+ System.Xml.XDocument.xml
+ System.Xml.XPath.XDocument.xml
+ System.Xml.XPath.xml
+ System.Xml.XmlSerializer.xml
+ WindowsBase.xml
+ mscorlib.xml
+ )
+
+ # Added temporarily due to https://github.com/dotnet/source-build/issues/2404
+ aspnetcoreappIgnoreList=(
+ Microsoft.AspNetCore.App.Analyzers.xml
+ Microsoft.AspNetCore.App.CodeFixes.xml
+ Microsoft.Extensions.Logging.Generators.resources.xml
+ Microsoft.Extensions.Logging.Generators.xml
)
error=0
@@ -531,6 +657,16 @@ function runXmlDocTests() {
fi
done
fi
+ # Added temporarily due to https://github.com/dotnet/source-build/issues/2404
+ 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"
diff --git a/src/SourceBuild/tarball/content/smoke-testNuGet.Config b/src/SourceBuild/tarball/content/smoke-testNuGet.Config
index 07754412d..7dee71e3e 100644
--- a/src/SourceBuild/tarball/content/smoke-testNuGet.Config
+++ b/src/SourceBuild/tarball/content/smoke-testNuGet.Config
@@ -15,5 +15,6 @@
+