[ArPow] Run smoke tests for tarball CI (#11023) (#12055)

This commit is contained in:
Michael Simons 2021-09-23 19:02:27 -05:00 committed by GitHub
parent f795dd0d2f
commit 3694b8b984
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 179 additions and 23 deletions

View file

@ -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)

View file

@ -82,7 +82,6 @@
<PropertyGroup>
<SubmoduleDirectory Condition="'$(SubmoduleDirectory)' == ''">$(ProjectDir)src/</SubmoduleDirectory>
<GitModulesPath>$(ProjectDir).gitmodules</GitModulesPath>
<ProdConFeedPath>$(ProjectDir)ProdConFeed.txt</ProdConFeedPath>
</PropertyGroup>
<PropertyGroup>

View file

@ -12,11 +12,4 @@
<Import Condition="'$(SkipArcadeSdkImport)' != 'true'" Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" />
<Target Name="GetProdConBlobFeedUrl">
<PropertyGroup>
<ProdConBlobFeedUrl>$([System.IO.File]::ReadAllText('$(ProdConFeedPath)').Trim())</ProdConBlobFeedUrl>
<ProdConBlobFeedUrl Condition="'$(ProdConBlobFeedUrlPrefix)' != ''">$(ProdConBlobFeedUrl.Replace('https://dotnetfeed.blob.core.windows.net/', '$(ProdConBlobFeedUrlPrefix)'))</ProdConBlobFeedUrl>
</PropertyGroup>
</Target>
</Project>

View file

@ -90,7 +90,7 @@
<WriteLinesToFile File="$(CompletedSemaphorePath)GeneratePrebuiltBurndownData.complete" Overwrite="true" />
</Target>
<Target Name="RunSmokeTest" DependsOnTargets="GetProdConBlobFeedUrl">
<Target Name="RunSmokeTest">
<PropertyGroup>
<SmokeTestCommand>./smoke-test.sh</SmokeTestCommand>
<SmokeTestCommand>$(SmokeTestCommand) --minimal</SmokeTestCommand>
@ -102,15 +102,9 @@
<SmokeTestCommand Condition="'$(TargetOS)' == 'OSX'">$(SmokeTestCommand) --excludeWebHttpsTests</SmokeTestCommand>
</PropertyGroup>
<!--
Pass prodConBlobFeedUrl via EnvironmentVariables because it has '//' in it, which is
translated into '/' if it's passed in the Command arg.
This is also a problem when passing CLI feeds: https://github.com/dotnet/source-build/issues/561
-->
<Exec Command="$(SmokeTestCommand)"
EnvironmentVariables="
targetRid=$(TargetRid);
prodConBlobFeedUrl=$(ProdConBlobFeedUrl)" />
targetRid=$(TargetRid)" />
</Target>
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="UploadToAzure" />

View file

@ -8,6 +8,7 @@ usage() {
echo " --online build using online sources"
echo " --with-packages <dir> use the specified directory of previously-built packages"
echo " --with-sdk <dir> 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 ""
}

View file

@ -0,0 +1,26 @@
From 6ad75d442b6f7edc07095f417dd592be5ef04eb2 Mon Sep 17 00:00:00 2001
From: Michael Simons <msimons@microsoft.com>
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 @@
<PackageReference Remove="Microsoft.NETCore.App" />
<Compile Remove="$(GitInfoFile)" />
<Compile Remove="$(MSBuildThisFileDirectory)../../src/GitInfo.cs" />
- <Content Include="Content\**">
+ <Content Include="content\**">
<PackagePath>content</PackagePath>
</Content>
</ItemGroup>
--
2.29.2

View file

@ -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"

View file

@ -15,5 +15,6 @@
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
<add key="source-built-packages" value="SOURCE_BUILT_PACKAGES" />
<add key="dotnet-public" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public%40Local/nuget/v3/index.json" />
<add key="dotnet6" value="https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet6/nuget/v3/index.json" />
</packageSources>
</configuration>