summaryrefslogtreecommitdiff
path: root/tests/helixprep.proj
diff options
context:
space:
mode:
authorSven Boemer <sbomer@gmail.com>2018-11-08 08:50:37 -0800
committerGitHub <noreply@github.com>2018-11-08 08:50:37 -0800
commit8bc5616def9074d8457f85d22b1280493ad731ad (patch)
tree059d9a50f34f73924a3d168853d9ce10c39a313a /tests/helixprep.proj
parentf6e7568cc6d4901abb5e11ebc05267743a1c5205 (diff)
downloadcoreclr-8bc5616def9074d8457f85d22b1280493ad731ad.tar.gz
coreclr-8bc5616def9074d8457f85d22b1280493ad731ad.tar.bz2
coreclr-8bc5616def9074d8457f85d22b1280493ad731ad.zip
Add azure-pipelines build and test definitions (#20840)
This adds an azure pipeline definition with a matrix of product and test builds, using helix to run tests. The intention is that this definition will eventually be used for both our official build and CI testing. There is one build job for each OS/platform/arch, and one test job for each OS/platform/arch/priority/R2Rflag. The test job builds tests and then submits them to helix, passing along a number of test run modes. One helix test job will be created for each OS/platform/arch/priority/R2Rflag/helixtargetqueue/testscenario. There is a lot of work left to be done to get this up to parity with our official builds and CI, which I've tried to call out in comments.
Diffstat (limited to 'tests/helixprep.proj')
-rw-r--r--tests/helixprep.proj39
1 files changed, 29 insertions, 10 deletions
diff --git a/tests/helixprep.proj b/tests/helixprep.proj
index 1cbf0ed0f8..50d7d9bd76 100644
--- a/tests/helixprep.proj
+++ b/tests/helixprep.proj
@@ -1,23 +1,26 @@
<Project ToolsVersion="12.0" DefaultTargets="ArchiveAll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <UsingTask TaskName="ZipFileCreateFromDirectory" AssemblyFile="$(ToolsDir)\net46\Microsoft.DotNet.Build.Tasks.dll"/>
-
+ <UsingTask TaskName="ZipFileCreateFromDirectory" AssemblyFile="$(ToolsDir)\net46\Microsoft.DotNet.Build.Tasks.dll"
+ Condition=" '$(MSBuildRuntimeType)' != 'Core' " />
+ <UsingTask TaskName="ZipFileCreateFromDirectory" AssemblyFile="$(ToolsDir)\Microsoft.DotNet.Build.Tasks.dll"
+ Condition=" '$(MSBuildRuntimeType)' == 'Core' " />
+
<Import Project="dir.props" />
<Import Project="..\dir.props" />
<PropertyGroup>
<DiscoveryDirectory>$(TestWorkingDir)</DiscoveryDirectory>
- <CoreRootDir>$(CORE_ROOT)</CoreRootDir>
<CoreRootName>Core_Root_$(RuntimeID)</CoreRootName>
+ <UsePython Condition=" '$(UsePython)' == '' ">false</UsePython>
</PropertyGroup>
<ItemGroup>
- <TestCmds Include="$(DiscoveryDirectory)\**\*.cmd" ></TestCmds>
<XunitDlls Include="$(DiscoveryDirectory)\**\*.XUnitWrapper.dll" ></XunitDlls>
<RequiresSigningFilesToDelete Include="$(DiscoveryDirectory)\**\*.requires_signing" />
</ItemGroup>
<!-- Build the platform-specific wrapper to run an individual xunit wrapper -->
+ <!-- We should remove the generated wrappers once we have transitioned our official build -->
<Target Name="GenerateWrapperExecutables"
Inputs="@(XunitDlls)"
@@ -32,15 +35,26 @@
Targets="GenerateWrapperSh" />
</Target>
+ <!-- Copy the wrapper script to the xunit directory -->
+ <Target Name="CopyWrapperScript"
+ Inputs="@(XunitDlls)"
+ Outputs="$(TestWorkingDir)*\runtest_helix.py" >
+
+ <Copy SourceFiles="$(MSBuildThisFileDirectory)\runtest_helix.py"
+ DestinationFolder="%(XunitDlls.RootDir)%(XunitDlls.Directory)" />
+
+ </Target>
+
<!-- Zip each top-level test folder to send to Helix -->
<Target Name="ArchiveTests"
Inputs="@(XunitDlls)"
Outputs="$(TestWorkingDir)archive\**" >
-
+
<Copy SourceFiles="$(CORE_ROOT)\xunit.console.dll"
DestinationFolder="%(XunitDlls.RootDir)%(XunitDlls.Directory)"
- />
+ Condition=" '$(UsePython)' == 'false' " />
+
<Message Text="Deleting '.requires_signing' files to avoid file name lengths exceeding MAX_PATH" Importance="Low" />
<Delete Files="@(RequiresSigningFilesToDelete)" />
<MSBuild Projects="helixprep.proj"
@@ -52,10 +66,10 @@
<!-- Zip Core_Root & Packages payload to send to Helix -->
<Target Name="ArchiveCoreRoot"
- Inputs="$(CoreRootDir)"
+ Inputs="$(CORE_ROOT)"
Outputs="$(TestWorkingDir)archive\Core_Root" >
<MSBuild Projects="helixprep.proj"
- Properties="BuildPath=$(CoreRootDir);ProjectName=$(CoreRootName);BuildArchiveDir=$(TestWorkingDir)archive\Core_Root\"
+ Properties="BuildPath=$(CORE_ROOT);ProjectName=$(CoreRootName);BuildArchiveDir=$(TestWorkingDir)archive\Core_Root\"
Targets="ArchiveBuild" />
<!-- Make dummy packages.zip to upload to Helix -->
@@ -180,8 +194,13 @@ EXIT /B %ERRORLEVEL%
<!-- Default target to run - builds executables & archives everything needed for Helix run -->
<Target Name="ArchiveAll" >
+ <PropertyGroup>
+ <_ArchiveTargets Condition=" '$(UsePython)' == 'false' ">GenerateWrapperExecutables</_ArchiveTargets>
+ <_ArchiveTargets Condition=" '$(UsePython)' == 'true' ">CopyWrapperScript</_ArchiveTargets>
+ <_ArchiveTargets>$(_ArchiveTargets);ArchiveTests;ArchiveCoreRoot</_ArchiveTargets>
+ </PropertyGroup>
<MSBuild Projects="helixprep.proj"
- Targets="GenerateWrapperExecutables;ArchiveTests;ArchiveCoreRoot" />
+ Targets="$(_ArchiveTargets)" />
</Target>
-</Project> \ No newline at end of file
+</Project>