diff --git a/eng/common/templates/steps/send-to-helix.yml b/eng/common/templates/steps/send-to-helix.yml index cd02ae1607f..09a223989f7 100644 --- a/eng/common/templates/steps/send-to-helix.yml +++ b/eng/common/templates/steps/send-to-helix.yml @@ -20,7 +20,6 @@ parameters: IncludeDotNetCli: false # optional -- true will download a version of the .NET CLI onto the Helix machine as a correlation payload; requires DotNetCliPackageType and DotNetCliVersion DotNetCliPackageType: '' # optional -- either 'sdk', 'runtime' or 'aspnetcore-runtime'; determines whether the sdk or runtime will be sent to Helix; see https://raw.githubusercontent.com/dotnet/core/main/release-notes/releases-index.json DotNetCliVersion: '' # optional -- version of the CLI to send to Helix; based on this: https://raw.githubusercontent.com/dotnet/core/main/release-notes/releases-index.json - EnableXUnitReporter: false # optional -- true enables XUnit result reporting to Mission Control WaitForWorkItemCompletion: true # optional -- true will make the task wait until work items have been completed and fail the build if work items fail. False is "fire and forget." IsExternal: false # [DEPRECATED] -- doesn't do anything, jobs are external if HelixAccessToken is empty and Creator is set HelixBaseUri: 'https://helix.dot.net/' # optional -- sets the Helix API base URI (allows targeting int) @@ -54,7 +53,6 @@ steps: IncludeDotNetCli: ${{ parameters.IncludeDotNetCli }} DotNetCliPackageType: ${{ parameters.DotNetCliPackageType }} DotNetCliVersion: ${{ parameters.DotNetCliVersion }} - EnableXUnitReporter: ${{ parameters.EnableXUnitReporter }} WaitForWorkItemCompletion: ${{ parameters.WaitForWorkItemCompletion }} HelixBaseUri: ${{ parameters.HelixBaseUri }} Creator: ${{ parameters.Creator }} @@ -85,7 +83,6 @@ steps: IncludeDotNetCli: ${{ parameters.IncludeDotNetCli }} DotNetCliPackageType: ${{ parameters.DotNetCliPackageType }} DotNetCliVersion: ${{ parameters.DotNetCliVersion }} - EnableXUnitReporter: ${{ parameters.EnableXUnitReporter }} WaitForWorkItemCompletion: ${{ parameters.WaitForWorkItemCompletion }} HelixBaseUri: ${{ parameters.HelixBaseUri }} Creator: ${{ parameters.Creator }} diff --git a/src/Microsoft.DotNet.Helix/Sdk/Readme.md b/src/Microsoft.DotNet.Helix/Sdk/Readme.md index 612fd72bd7d..8b4a7d3a406 100644 --- a/src/Microsoft.DotNet.Helix/Sdk/Readme.md +++ b/src/Microsoft.DotNet.Helix/Sdk/Readme.md @@ -180,7 +180,6 @@ Given a local folder `$(TestFolder)` containing `runtests.cmd`, this will run `r test-results.xml test_results.xml --> - false false diff --git a/src/Microsoft.DotNet.Helix/Sdk/tools/Microsoft.DotNet.Helix.Sdk.MonoQueue.targets b/src/Microsoft.DotNet.Helix/Sdk/tools/Microsoft.DotNet.Helix.Sdk.MonoQueue.targets index 7f8604a40fa..b3f79a5c026 100644 --- a/src/Microsoft.DotNet.Helix/Sdk/tools/Microsoft.DotNet.Helix.Sdk.MonoQueue.targets +++ b/src/Microsoft.DotNet.Helix/Sdk/tools/Microsoft.DotNet.Helix.Sdk.MonoQueue.targets @@ -1,9 +1,5 @@ - - - false - - + $(RepositoryEngineeringDir)/test-configuration.json @@ -23,18 +19,6 @@ - - - - - - $(HelixPostCommands);$HELIX_PYTHONPATH -B $HELIX_CORRELATION_PAYLOAD/xunit-reporter.py - $(HelixPostCommands);%HELIX_PYTHONPATH% -B %HELIX_CORRELATION_PAYLOAD%\xunit-reporter.py - - 0 - - - diff --git a/src/Microsoft.DotNet.Helix/Sdk/tools/xharness-runner/Readme.md b/src/Microsoft.DotNet.Helix/Sdk/tools/xharness-runner/Readme.md index bebc13f69fa..89791ffa8bd 100644 --- a/src/Microsoft.DotNet.Helix/Sdk/tools/xharness-runner/Readme.md +++ b/src/Microsoft.DotNet.Helix/Sdk/tools/xharness-runner/Readme.md @@ -41,7 +41,6 @@ There are some required configuration properties that need to be set for XHarnes test/product/ https://helix.int-dot.net $(BUILD_SOURCEVERSIONAUTHOR) - true true diff --git a/src/Microsoft.DotNet.Helix/Sdk/tools/xunit-reporter/xunit-reporter.py b/src/Microsoft.DotNet.Helix/Sdk/tools/xunit-reporter/xunit-reporter.py index 3cc16f6d0b9..750909a815a 100644 --- a/src/Microsoft.DotNet.Helix/Sdk/tools/xunit-reporter/xunit-reporter.py +++ b/src/Microsoft.DotNet.Helix/Sdk/tools/xunit-reporter/xunit-reporter.py @@ -1,124 +1,10 @@ #!/usr/bin/env python -import re -import os -import urllib -import helix.azure_storage import helix.event import helix.settings -import helix.logs - -log = helix.logs.get_logger() - -acceptableXUnitFileNames = [ - "testResults.xml", - "test-results.xml", - "test_results.xml", - "TestResults.xUnit.xml" -] - -class HelixHelper: - def __init__(self, settings): - self.settings = settings - self.event_client = helix.event.create_from_uri(settings.event_uri) - self.upload_client = helix.azure_storage.get_upload_client(settings) - - def error(self, error_type, message, log_uri=None): - self.event_client.error(self.settings, error_type, message, log_uri) - - def xunit_event(self, results_uri, test_count, file_name): - self.event_client.send( - { - 'Type': 'XUnitTestResult', - 'WorkItemId': self.settings.workitem_id, - 'WorkItemFriendlyName': self.settings.workitem_friendly_name, - 'CorrelationId': self.settings.correlation_id, - 'ResultsXmlUri': results_uri, - 'TestCount': test_count, - } - ) - - def file_event(self, results_uri, file_name): - self.event_client.send( - { - 'Type': 'File', - 'Uri': results_uri, - 'FileName': file_name, - 'WorkItemId': self.settings.workitem_id, - 'WorkItemFriendlyName': self.settings.workitem_friendly_name, - 'CorrelationId': self.settings.correlation_id, - } - ) - - def upload_file_to_storage(self, file_path): - """ Copy file specified to azure storage account using Helix infrastructure - :param file_path: Path to file to be copied to Azure storage - :type file_path:string - """ - try: - return self.upload_client.upload(file_path, os.path.basename(file_path)) - except ValueError: - self.error("FailedUpload", "Failed to upload "+file_path+"after retry") - -def findXUnitResults(search_dir): - for root, dirs, files in os.walk(search_dir): - for file_name in files: - if file_name in acceptableXUnitFileNames: - return os.path.join(root, file_name) - return None - -def main(): - settings = helix.settings.settings_from_env() - - if settings.output_uri is None or settings.event_uri is None: - log.error("Unable to report xunit results: output_uri and/or event_uri are not set.") - return 1 - - helper = HelixHelper(settings) - working_dir = settings.workitem_working_dir - upload_dir = settings.workitem_upload_dir - need_to_upload_results = True - - results_path = findXUnitResults(working_dir) - - if results_path is None: - log.info("Didn't find test results in working directory, trying upload folder") - results_path = findXUnitResults(upload_dir) - need_to_upload_results = False - - if results_path is None: - log.error("Unable to report xunit results: no test results xml file found.") - return 2 - - log.info("Uploading results from {}".format(results_path)) - - with open(results_path, encoding="utf-8") as result_file: - test_count = 0 - total_regex = re.compile(r'total="(\d+)"') - for line in result_file: - if 'test/product/ $(AGENT_JOBNAME) true - true true https://helix.dot.net true @@ -23,7 +22,6 @@ - false false