Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
798 changes: 0 additions & 798 deletions eng/pipelines/common/platform-matrix.yml

Large diffs are not rendered by default.

23 changes: 21 additions & 2 deletions eng/testing/tests.wasm.targets
Original file line number Diff line number Diff line change
Expand Up @@ -334,8 +334,27 @@
</ItemGroup>
</Target>

<Target Name="DeployHelixTargetsFile" AfterTargets="ArchiveTests" Condition="'$(HelixTargetsFile)' != ''">
<Copy SourceFiles="$(HelixTargetsFile)" DestinationFiles="$(TestArchiveTestsDir)$(TestProjectName).helix.targets" SkipUnchangedFiles="true" />
<Target Name="DeployHelixFiles" AfterTargets="ArchiveTests">
<MakeDir Directories="$(TestArchiveTestsDir)" />

<Copy SourceFiles="$(HelixTargetsFile)"
DestinationFiles="$(TestArchiveTestsDir)$(TestProjectName).helix.targets"
SkipUnchangedFiles="true"
Condition="'$(HelixTargetsFile)' != ''" />

<Error Text="Only one of %24(HelixWasmScenariosToSkip)='$(HelixWasmScenariosToSkip)', and %24(HelixWasmScenariosToRunOnly)='$(HelixWasmScenariosToRunOnly)' should be set"
Condition="'$(HelixWasmScenariosToSkip)' != '' and '$(HelixWasmScenariosToRunOnly)' != ''" />

<Delete Files="$(TestArchiveTestsDir)$(TestProjectName).*.helix.skip" />
<Delete Files="$(TestArchiveTestsDir)$(TestProjectName).*.helix.only" />

<ItemGroup>
<_SkipScenariosLines Include="$(HelixWasmScenariosToSkip)" />
<_OnlyScenariosLines Include="$(HelixWasmScenariosToRunOnly)" />
</ItemGroup>

<WriteLinesToFile Lines="@(_SkipScenariosLines)" File="$(TestArchiveTestsDir)$(TestProjectName).zip.helix.skip" Overwrite="true" Condition="@(_SkipScenariosLines->Count()) > 0" />
<WriteLinesToFile Lines="@(_OnlyScenariosLines)" File="$(TestArchiveTestsDir)$(TestProjectName).zip.helix.only" Overwrite="true" Condition="@(_OnlyScenariosLines->Count()) > 0" />
</Target>

<Target Name="_GetWorkloadsToInstall" DependsOnTargets="_SetPackageVersionForWorkloadsTesting" Returns="@(WorkloadIdForTesting);@(WorkloadCombinationsToInstall)">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@

<PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
<!-- This doesn't run on V8 shell because https://bugs.chromium.org/p/v8/issues/detail?id=12541 -->
<HelixWasmScenariosToSkip>normal</HelixWasmScenariosToSkip>
<!-- default scenario for local runs -->
<Scenario>WasmTestOnBrowser</Scenario>
<TestArchiveTestsRoot>$(TestArchiveRoot)browserornodejs/</TestArchiveTestsRoot>
<TestArchiveTestsDir>$(TestArchiveTestsRoot)$(OSPlatformConfig)/</TestArchiveTestsDir>
<DefineConstants>$(DefineConstants);TARGET_BROWSER</DefineConstants>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@

<PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
<!-- This doesn't run on V8 shell because https://bugs.chromium.org/p/v8/issues/detail?id=12541 -->
<HelixWasmScenariosToSkip>normal</HelixWasmScenariosToSkip>
<!-- default scenario for local runs -->
<Scenario>WasmTestOnBrowser</Scenario>
<TestArchiveTestsRoot>$(TestArchiveRoot)browserornodejs/</TestArchiveTestsRoot>
<TestArchiveTestsDir>$(TestArchiveTestsRoot)$(OSPlatformConfig)/</TestArchiveTestsDir>
<DefineConstants>$(DefineConstants);TARGET_BROWSER</DefineConstants>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@

<PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
<!-- This doesn't run on V8 because it lacks websocket support -->
<HelixWasmScenariosToSkip>normal</HelixWasmScenariosToSkip>
<!-- default scenario for local runs -->
<Scenario>WasmTestOnBrowser</Scenario>
<TestArchiveTestsRoot>$(TestArchiveRoot)browserornodejs/</TestArchiveTestsRoot>
<TestArchiveTestsDir>$(TestArchiveTestsRoot)$(OSPlatformConfig)/</TestArchiveTestsDir>
<DefineConstants>$(DefineConstants);TARGET_BROWSER</DefineConstants>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@

<PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
<!-- This doesn't run on V8 because it lacks websocket support -->
<HelixWasmScenariosToSkip>normal</HelixWasmScenariosToSkip>
<!-- default scenario for local runs -->
<Scenario>WasmTestOnBrowser</Scenario>
<TestArchiveTestsRoot>$(TestArchiveRoot)browserornodejs/</TestArchiveTestsRoot>
<TestArchiveTestsDir>$(TestArchiveTestsRoot)$(OSPlatformConfig)/</TestArchiveTestsDir>
<DefineConstants>$(DefineConstants);TARGET_BROWSER</DefineConstants>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@

<PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
<WasmXHarnessArgs>--background-throttling</WasmXHarnessArgs>
<!-- default scenario for local runs -->
<Scenario>WasmTestOnBrowser</Scenario>
<TestArchiveTestsRoot>$(TestArchiveRoot)browseronly/</TestArchiveTestsRoot>
<TestArchiveTestsDir>$(TestArchiveTestsRoot)$(OSPlatformConfig)/</TestArchiveTestsDir>
<DefineConstants>$(DefineConstants);TARGET_BROWSER</DefineConstants>
<HelixWasmScenariosToRunOnly>WasmTestOnBrowser</HelixWasmScenariosToRunOnly>
</PropertyGroup>

<Import Condition="'$(TargetOS)' == 'Browser'" Project="$(CommonTestPath)System/Net/Prerequisites/LocalEchoServer.props" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@

<PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
<!-- This doesn't run on V8 shell because https://bugs.chromium.org/p/v8/issues/detail?id=12541 -->
<HelixWasmScenariosToSkip>normal</HelixWasmScenariosToSkip>
<!-- default scenario for local runs -->
<Scenario>WasmTestOnBrowser</Scenario>
<TestArchiveTestsRoot>$(TestArchiveRoot)browserornodejs/</TestArchiveTestsRoot>
<TestArchiveTestsDir>$(TestArchiveTestsRoot)$(OSPlatformConfig)/</TestArchiveTestsDir>
<DefineConstants>$(DefineConstants);TARGET_BROWSER</DefineConstants>
</PropertyGroup>

Expand Down
63 changes: 48 additions & 15 deletions src/libraries/sendtohelix-wasm.targets
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
<TestEchoMiddleware>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'bin', 'NetCoreServer', '$(Configuration)', '$(AspNetCoreAppCurrent)'))</TestEchoMiddleware>
<RemoteLoopMiddleware>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'bin', 'RemoteLoopServer', '$(Configuration)', '$(AspNetCoreAppCurrent)'))</RemoteLoopMiddleware>
<_ShippingPackagesPath>$([MSBuild]::NormalizeDirectory($(ArtifactsDir), 'packages', $(Configuration), 'Shipping'))</_ShippingPackagesPath>
<_ScenarioLowerCase Condition="'$(Scenario)' != ''">$(Scenario.ToLowerInvariant())</_ScenarioLowerCase>
<WorkItemPrefix Condition="'$(WorkItemPrefix)' == '' and '$(Scenario)' != ''">$(Scenario)-</WorkItemPrefix>

<IsWasmDebuggerTests Condition="'$(Scenario)' == 'WasmDebuggerTests'">true</IsWasmDebuggerTests>
Expand Down Expand Up @@ -200,13 +201,17 @@
DependsOnTargets="$(PrepareForBuildHelixWorkItems_WasmDependsOn);$(HelixExtensionTargets)" />

<Target Name="_AddWorkItemsForLibraryTests" Condition="'$(IsRunningLibraryTests)' == 'true'">
<ItemGroup Label="Add samples">
<_WasmWorkItem Include="$(TestArchiveRoot)browseronly/**/*.zip" Condition="'$(Scenario)' == 'WasmTestOnBrowser'" />
<_WasmWorkItem Include="$(TestArchiveRoot)browserornodejs/**/*.zip" Condition="'$(Scenario)' == 'WasmTestOnBrowser'" />
<_WasmWorkItem Include="$(TestArchiveRoot)browserornodejs/**/*.zip" Condition="'$(Scenario)' == 'WasmTestOnNodeJS'" />
<_WasmWorkItem Include="$(TestArchiveRoot)nodejsonly/**/*.zip" Condition="'$(Scenario)' == 'WasmTestOnNodeJS'" />
<Message Text="* Scenario: $(_ScenarioLowerCase)" Importance="High" />
<ItemGroup>
<_AllArchives Include="$(WorkItemArchiveWildCard)" Exclude="@(HelixCorrelationPayload)" />
</ItemGroup>

<FilterTestArchivesList ArchiveFiles="@(_AllArchives)" Scenario="$(_ScenarioLowerCase)">
<Output TaskParameter="FilteredArchives" ItemName="_DefaultWasmWorkItems" />
</FilterTestArchivesList>

<HelixWorkItem Include="@(_WasmWorkItem -> '$(WorkItemPrefix)%(FileName)')">
<ItemGroup>
<HelixWorkItem Include="@(_DefaultWasmWorkItems -> '$(WorkItemPrefix)%(FileName)')">
<PayloadArchive>%(Identity)</PayloadArchive>
<Command>$(HelixCommand)</Command>
<Timeout>$(_workItemTimeout)</Timeout>
Expand All @@ -224,15 +229,6 @@
<Command>$(HelixCommand)</Command>
<Timeout>$(_workItemTimeout)</Timeout>
</HelixWorkItem>

<_DefaultWorkItems Remove="@(_DefaultWorkItems)" />
<_DefaultWorkItems Include="$(WorkItemArchiveWildCard)" Exclude="$(HelixCorrelationPayload)" />

<HelixWorkItem Include="@(_DefaultWorkItems -> '$(WorkItemPrefix)%(FileName)')">
<PayloadArchive>%(Identity)</PayloadArchive>
<Command>$(HelixCommand)</Command>
<Timeout>$(_workItemTimeout)</Timeout>
</HelixWorkItem>
</ItemGroup>
</Target>

Expand Down Expand Up @@ -290,4 +286,41 @@
DestinationFiles="@(_EmSdkFiles -> '$(EmSdkDirForHelixPayload)\%(RecursiveDir)%(FileName)%(Extension)')"
SkipUnchangedFiles="true" />
</Target>

<UsingTask TaskName="FilterTestArchivesList" TaskFactory="RoslynCodeTaskFactory" AssemblyFile="$(MSBuildBinPath)\Microsoft.Build.Tasks.Core.dll">
<ParameterGroup>
<ArchiveFiles ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
<Scenario ParameterType="System.String" Required="true" />
<FilteredArchives ParameterType="Microsoft.Build.Framework.ITaskItem[]" Output="true" />
</ParameterGroup>
<Task>
<Using Namespace="System" />
<Using Namespace="System.Collections" />
<Using Namespace="System.IO" />
<Code Type="Fragment" Language="C#"><![CDATA[
List<ITaskItem> filtered = new(ArchiveFiles.Length);
foreach (var file in ArchiveFiles)
{
var fp = file.GetMetadata("FullPath");
string skipFile = $"{fp}.helix.skip";
if (File.Exists(skipFile) && File.ReadAllLines(skipFile).Contains(Scenario))
{
Log.LogMessage(MessageImportance.High, $"Skipping {fp} for {Scenario} because it is in a skip list.");
continue;
}

string onlyFile = $"{fp}.helix.only";
if (File.Exists(onlyFile) && !File.ReadAllLines(onlyFile).Contains(Scenario))
{
Log.LogMessage(MessageImportance.High, $"Skipping {fp} for {Scenario} because it is not in the only list.");
continue;
}

filtered.Add(file);
}

FilteredArchives = filtered.ToArray();
]]></Code>
</Task>
</UsingTask>
</Project>
4 changes: 3 additions & 1 deletion src/libraries/sendtohelixhelp.proj
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Project InitialTargets="PrintHelixQueues;PrintBuildTargetFramework;BuildHelixWorkItems" Sdk="Microsoft.DotNet.Helix.Sdk">
<Project Sdk="Microsoft.DotNet.Helix.Sdk">

<!-- This project uses the Helix SDK, documented at
https://github.com/dotnet/arcade/tree/master/src/Microsoft.DotNet.Helix/Sdk,
Expand Down Expand Up @@ -293,4 +293,6 @@
<Target Name="PrintBuildTargetFramework">
<Message Importance="High" Text="Build TargetFramework: $(BuildTargetFramework)" />
</Target>

<Target Name="_PrepareForHelix" BeforeTargets="CoreTest" DependsOnTargets="PrintHelixQueues;PrintBuildTargetFramework;BuildHelixWorkItems" />
</Project>
1 change: 1 addition & 0 deletions src/mono/wasm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ submit-tests-helix:
/p:TestRunNamePrefixSuffix=WasmTests /p:HelixBuild=`date "+%Y%m%d.%H%M"` /p:Creator=`whoami` \
/bl:$(TOP)/artifacts/log/$(CONFIG)/SendToHelix.binlog -v:n -p:HelixTargetQueue=$(HELIX_TARGET_QUEUE) \
/p:RuntimeFlavor=mono /p:TargetRuntimeIdentifier= /p:MonoForceInterpreter= /p:TestScope=innerloop \
-bl:$(TOP)/artifacts/log/$(CONFIG)/submit-tests-helix.binlog \
$(_MSBUILD_WASM_BUILD_ARGS) \
$(MSBUILD_ARGS)

Expand Down
1 change: 1 addition & 0 deletions src/mono/wasm/build/WasmApp.InTree.targets
Original file line number Diff line number Diff line change
Expand Up @@ -62,5 +62,6 @@
</PropertyGroup>
<ZipDirectory SourceDirectory="$(WasmAppDir)" DestinationFile="$(ZippedApp)" />
<Copy SourceFiles="$(ZippedApp)" DestinationFolder="$(HelixArchiveRunOnlyAppsDir)" />
<Message Text="$(ZippedApp) -> $(HelixArchiveRunOnlyAppsDir)" />
</Target>
</Project>