diff options
author | William Godbe <wigodbe@microsoft.com> | 2017-03-15 18:17:15 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-15 18:17:15 -0700 |
commit | 036c2c06cf3bc0746891cf5684e8c31ad7c5ff41 (patch) | |
tree | 92f7fed2c1543b83bab21f5b8ac9004591350ea9 /tests/helixpublish.proj | |
parent | 60a73101ad8becbec2ad7d00b6451d135becc074 (diff) | |
download | coreclr-036c2c06cf3bc0746891cf5684e8c31ad7c5ff41.tar.gz coreclr-036c2c06cf3bc0746891cf5684e8c31ad7c5ff41.tar.bz2 coreclr-036c2c06cf3bc0746891cf5684e8c31ad7c5ff41.zip |
Revert "Add support for Multiqueing jobs in Helix"
Diffstat (limited to 'tests/helixpublish.proj')
-rw-r--r-- | tests/helixpublish.proj | 132 |
1 files changed, 54 insertions, 78 deletions
diff --git a/tests/helixpublish.proj b/tests/helixpublish.proj index f19b2a7226..699e220731 100644 --- a/tests/helixpublish.proj +++ b/tests/helixpublish.proj @@ -1,97 +1,73 @@ -<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="..\dir.props" /> - <!-- CoreClr-Specific Helix test submission project. --> - +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> - <!-- Workaround for dealing with building on Linux/OSX. - It doesn't seem possible to pass a connection string on the command line, as it contains ';' characters. - Checking for the existence of a connection string will happen inside CloudTest.Helix.targets --> - <CloudDropConnectionString Condition="'$(CloudDropConnectionString)'==''" >DefaultEndpointsProtocol=https;AccountName=$(CloudDropAccountName);AccountKey=$(CloudDropAccessToken);EndpointSuffix=core.windows.net</CloudDropConnectionString> - <CloudResultsConnectionString Condition="'$(CloudResultsConnectionString)'==''">DefaultEndpointsProtocol=https;AccountName=$(CloudResultsAccountName);AccountKey=$(CloudResultsAccessToken);EndpointSuffix=core.windows.net</CloudResultsConnectionString> - - <!-- Finally, these archives represent the zips of tests that are OSPlatform specific - This is used by CloudTest.Helix.Targets to generate relative blob paths for archives. --> - <ArchivesRoot>$(TestWorkingDir)/archive</ArchivesRoot> - <TestArchivesRoot>$(ArchivesRoot)/tests</TestArchivesRoot> - - <RunnerScript Condition="'$(RunnerScript)' == ''">$(TestRunnerScript)</RunnerScript> - <SupplementalPayloadDir Condition="'$(SupplementalPayloadDir)' == ''">$(TestWorkingDir)SupplementalPayload/</SupplementalPayloadDir> - - <!-- The old CloudTest.targets forced a single timeout value onto every test --> - <!-- Possible TODO: With the CloudTest.Helix.targets refactor, we have the ability to specify variable timeout--> - <TimeoutInSeconds Condition="'$(TimeoutInSeconds)' == ''">1000</TimeoutInSeconds> - - <!-- Set required properties for Helix Submission --> - <IsOfficial Condition="'$(OfficialBuildId)'!=''">true</IsOfficial> - <CurrentDate>$([System.DateTime]::Now.ToString(yyyyMMdd.mmss))</CurrentDate> - - <HelixJobType Condition="'$(HelixJobType)'==''">test/functional/cli/</HelixJobType> - - <HelixSource Condition="'$(HelixSource)'=='' And '$(IsOfficial)'!='' And '$(TestProduct)'!='' And '$(Branch)'!=''">official/$(TestProduct)/$(Branch)/</HelixSource> - <HelixSource Condition="'$(HelixSource)'=='' And '$(IsOfficial)'=='' And '$(TestProduct)'!='' And '$(Branch)'!=''">pr/$(TestProduct)/$(Branch)/</HelixSource> - <HelixSource Condition="'$(HelixSource)'==''">pr/unknown/</HelixSource> - - <!-- Local path for storing submission-related files --> - <HelixLogFolder>$(ArchivesRoot)/</HelixLogFolder> - - <!-- Properties used for submission by CloudTest.Helix.Targets--> - <BuildMoniker>$(CurrentDate)</BuildMoniker> - <BuildMoniker Condition="'$(IsOfficial)'=='true'">$(OfficialBuildId)</BuildMoniker> - <HelixArchLabel>$(Platform)</HelixArchLabel> - <HelixConfigLabel>$(ConfigurationGroup)</HelixConfigLabel> + <__BuildType>$(ConfigurationGroup)</__BuildType> </PropertyGroup> - <!-- Set Helix environment vars based on target platform --> - <!-- This is only used in the case where property 'UseScriptRunner' is true.--> - <PropertyGroup Condition="'$(TargetsWindows)' == 'true'"> - <HelixPythonPath>%HELIX_PYTHONPATH%</HelixPythonPath> - <RunnerScript>%HELIX_CORRELATION_PAYLOAD%\RunnerScripts\scriptrunner\scriptrunner.py</RunnerScript> + <Import Project="..\dir.props" /> + <Import Project="$(ToolsDir)CloudTest.targets" Condition="Exists('$(ToolsDir)CloudTest.targets')" /> + + <!-- Define test payload & Correlation (Core_Root) payload --> + <ItemGroup> + <TestList Include="$(TestWorkingDir)\archive\tests\*" ></TestList> + <CoreRootUri Include="$(TestWorkingDir)\archive\Core_Root*\*.zip" ></CoreRootUri> + <DummyPackages Include="$(TestWorkingDir)\archive\packages\*" ></DummyPackages> + <ForUpload Include="@(TestList)" ></ForUpload> + <ForUpload Include="@(CoreRootUri)" ></ForUpload> + </ItemGroup> + + <!-- Define name & location of test JSON blob --> + <PropertyGroup> + <SkipArchive>true</SkipArchive> + <PayloadTestListFilename>Tests.$(ConfigurationGroup).json</PayloadTestListFilename> + <PayloadTestListFile>$(TestWorkingDir)$(PayloadTestListFilename)</PayloadTestListFile> </PropertyGroup> - <PropertyGroup Condition="'$(TargetsWindows)' != 'true'"> - <HelixPythonPath>$HELIX_PYTHONPATH</HelixPythonPath> - <RunnerScript>$HELIX_CORRELATION_PAYLOAD/RunnerScripts/scriptrunner/scriptrunner.py</RunnerScript> - </PropertyGroup> + <Target Name="CreateTestListJson" + DependsOnTargets="CreateAzureStorage"> - <Target Name="CoreClrPreCloudBuild" > - <!-- Put anything you want to do before submitting the general purpose helix job here. - Helix requires properly formatted work items and accessible zip files / others to upload, which we'll construct here. --> - - <!-- Gather the test archives for this build - If you change binplacing behavior and official runs break, - this is a good place to check.--> <ItemGroup> - <HelixWorkItem Include="$(TestArchivesRoot)/*.zip" /> + <SupplementalPayload Include="@(DummyPackages)" > + <RelativeBlobPath>$(Platform)$(ConfigurationGroup)/Packages.zip</RelativeBlobPath> + </SupplementalPayload> + <CorrelationPayloadUri Include="@(SupplementalPayload->'$(DropUri)%(RelativeBlobPath)$(DropUriReadOnlyToken)')" /> </ItemGroup> - <Message Text="Full test archive collection : @(HelixWorkItem)" Importance="Low" /> - <!-- Verify the test archives exist. - NOTE: It may be better to make this an error, but in the past we chose not to as this causes a build break when triggered, versus just no tests run. --> - <Warning Condition="'@(HelixWorkItem->Count())' == '0'" Text="Didn't find any test archives in supplied folders!!! Review logs to see where test archive(s) were placed and fix." /> + <PropertyGroup> + <!-- flatten it into a property as msbuild chokes on @(CorrelationPayloadUri) --> + <CorrelationPayloadUris>@(CorrelationPayloadUri)</CorrelationPayloadUris> + <!-- Define Correlation Payload as a property --> + <CoreRootUris>$(DropUri)$(Platform)$(ConfigurationGroup)/Tests/$([System.String]::Copy('%(RecursiveDir)').Replace('\', '/'))%(CoreRootUri.Filename)%(CoreRootUri.Extension)$(DropUriReadOnlyToken)</CoreRootUris> + <CorrelationPayloadProperty>$(CorrelationPayloadUris);$(CoreRootUris)</CorrelationPayloadProperty> + </PropertyGroup> - <ItemGroup> - <HelixCorrelationPayloadFile Include="$(ArchivesRoot)\Core_Root*\*.zip"> - <RelativeBlobPath>$(Platform)$(ConfigurationGroup)/%(Identity)</RelativeBlobPath> - </HelixCorrelationPayloadFile> - <HelixWorkItem> + <ItemGroup> + <TestList> <Command Condition="'$(TargetsWindows)' == 'true'">$(HelixPythonPath) $(RunnerScript) --script %HELIX_WORKITEM_PAYLOAD%\runtests.cmd</Command> <Command Condition="'$(TargetsWindows)' != 'true'">chmod +x $HELIX_WORKITEM_PAYLOAD/runtests.sh && $(HelixPythonPath) $(RunnerScript) --script $HELIX_WORKITEM_PAYLOAD/runtests.sh</Command> - <PayloadFile>%(Identity)</PayloadFile> + <CorrelationPayloadUris>[$(CorrelationPayloadProperty)]</CorrelationPayloadUris> + <PayloadUri>$(DropUri)$(Platform)$(ConfigurationGroup)/Tests/$([System.String]::Copy('%(RecursiveDir)').Replace('\', '/'))%(Filename)%(Extension)$(DropUriReadOnlyToken)</PayloadUri> <WorkItemId>%(Filename)</WorkItemId> <TimeoutInSeconds>$(TimeoutInSeconds)</TimeoutInSeconds> - <RelativeBlobPath>$(Platform)-$(ConfigurationGroup)/Tests/$([System.String]::Copy('%(RecursiveDir)').Replace('\', '/'))%(Filename)%(Extension)</RelativeBlobPath> - </HelixWorkItem> + </TestList> + </ItemGroup> + <WriteItemsToJson JsonFileName="$(PayloadTestListFile)" Items="@(TestList)" /> + <!-- add test lists to the list of items for upload --> + <ItemGroup> + <ForUpload Include="$(PayloadTestListFile)"> + <RelativeBlobPath>$(PayloadTestListFilename)</RelativeBlobPath> + </ForUpload> + </ItemGroup> + <!-- for completion event --> + <ItemGroup> + <TestListFile Include="$(PayloadTestListFile)"> + <BuildCompleteJson>$(TestWorkingDir)$(OSPlatformConfig)/FuncBuildComplete.json</BuildCompleteJson> + <OfficialBuildJson>$(TestWorkingDir)$(OSPlatformConfig)/FuncOfficialBuild.json</OfficialBuildJson> + <HelixJobUploadCompletePath>$(TestWorkingDir)$(OSPlatformConfig)/helixjobuploadcomplete.sem</HelixJobUploadCompletePath> + </TestListFile> </ItemGroup> </Target> - <!-- Import this at the end so that it can compose properties as needed --> - <Import Project="$(ToolsDir)CloudTest.Helix.targets" /> + <Target Name="Build" /> - <!-- main Entrypoint --> - <Target Name="Build"> - <Message Text="CoreClr-specific Helix test upload project, beginning submission to Helix" /> - <Message Condition="'$(EnableCloudTest)' == 'false'" Text="... skipping upload / submission due to property 'EnableCloudTest' being set to 'false'" /> - <CallTarget Condition="'$(EnableCloudTest)' != 'false'" Targets="CoreClrPreCloudBuild;HelixCloudBuild" /> - </Target> - </Project>
\ No newline at end of file |