From 96afcfa1044e15741c187c14980b561de18e8b40 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 27 Jan 2022 20:48:23 -0500 Subject: [PATCH 1/4] [ci] Fix .apk and logcat file uploading --- .../automation/yaml-templates/apk-instrumentation.yaml | 3 ++- build-tools/scripts/TestApks.targets | 5 ++--- .../xaprepare/Steps/Step_CopyExtraResultFilesForCI.cs | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build-tools/automation/yaml-templates/apk-instrumentation.yaml b/build-tools/automation/yaml-templates/apk-instrumentation.yaml index 5dcdc465e86..48333a895cd 100644 --- a/build-tools/automation/yaml-templates/apk-instrumentation.yaml +++ b/build-tools/automation/yaml-templates/apk-instrumentation.yaml @@ -35,9 +35,10 @@ steps: -bl:$(System.DefaultWorkingDirectory)/bin/Test${{ parameters.configuration }}/run-${{ parameters.testName }}.binlog -v:n -c ${{ parameters.configuration }} ${{ parameters.extraBuildArgs }} condition: ${{ parameters.condition }} + continueOnError: true - script: > - DEST="$(Build.ArtifactStagingDirectory)/${{ parameters.artifactFolder }}/" && + DEST="$(Build.StagingDirectory)/Test${{ parameters.configuration }}/${{ parameters.artifactFolder }}/" && mkdir -p "$DEST" && cp "${{ parameters.artifactSource }}" "$DEST" displayName: copy apk/aab diff --git a/build-tools/scripts/TestApks.targets b/build-tools/scripts/TestApks.targets index a2176a8a50b..42b846c8286 100644 --- a/build-tools/scripts/TestApks.targets +++ b/build-tools/scripts/TestApks.targets @@ -26,7 +26,7 @@ 5 $([MSBuild]::Multiply($(AvdLaunchTimeoutMinutes), 60)) $([MSBuild]::Multiply($(AvdLaunchTimeoutSeconds), 1000)) - <_LogcatFilename>$(MSBuildThisFileDirectory)..\..\bin\Test$(Configuration)\logcat-$(Configuration)-full.log + <_LogcatFilenameBase>$(MSBuildThisFileDirectory)..\..\bin\Test$(Configuration)\logcat-$(Configuration)$(TestsFlavor) @@ -69,7 +69,7 @@ AvdManagerHome="$(AvdManagerHome)" Arguments="$(TestEmulatorArguments)" ImageName="$(TestAvdName)" - LogcatFile="$(_LogcatFilename)" + LogcatFile="$(_LogcatFilenameBase)-full.txt" Port="$(_AdbEmulatorPort)" ToolExe="$(EmulatorToolExe)" ToolPath="$(EmulatorToolPath)"> @@ -247,7 +247,6 @@ <_IncludeCategories Condition=" '$(IncludeCategories)' != '' ">include=$(IncludeCategories) <_ExcludeCategories Condition=" '$(ExcludeCategories)' != '' ">exclude=$(ExcludeCategories) - <_LogcatFilenameBase>$(MSBuildThisFileDirectory)..\..\bin\Test$(Configuration)\logcat-$(Configuration)$(TestsFlavor) $(TestsFlavor) Date: Thu, 27 Jan 2022 20:51:27 -0500 Subject: [PATCH 2/4] Test always uploading artifacts --- .../automation/yaml-templates/apk-instrumentation.yaml | 2 +- build-tools/automation/yaml-templates/upload-results.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build-tools/automation/yaml-templates/apk-instrumentation.yaml b/build-tools/automation/yaml-templates/apk-instrumentation.yaml index 48333a895cd..7c1c9b3973a 100644 --- a/build-tools/automation/yaml-templates/apk-instrumentation.yaml +++ b/build-tools/automation/yaml-templates/apk-instrumentation.yaml @@ -42,7 +42,7 @@ steps: mkdir -p "$DEST" && cp "${{ parameters.artifactSource }}" "$DEST" displayName: copy apk/aab - condition: eq(variables['agent.jobstatus'], 'SucceededWithIssues') + condition: true #ne(variables['agent.jobstatus'], 'Succeeded') continueOnError: true - task: PublishTestResults@2 diff --git a/build-tools/automation/yaml-templates/upload-results.yaml b/build-tools/automation/yaml-templates/upload-results.yaml index 227794634fa..ab82c9e2251 100644 --- a/build-tools/automation/yaml-templates/upload-results.yaml +++ b/build-tools/automation/yaml-templates/upload-results.yaml @@ -11,7 +11,7 @@ steps: arguments: --s=CopyExtraResultFilesForCI --verbosity v xaSourcePath: ${{ parameters.xaSourcePath }} displayName: Copy extra result files - condition: ne(variables['Agent.JobStatus'], 'Succeeded') + condition: true #ne(variables['Agent.JobStatus'], 'Succeeded') - ${{ if eq(parameters.includeBuildResults, false) }}: - template: publish-artifact.yaml @@ -19,7 +19,7 @@ steps: displayName: upload test results artifactName: ${{ parameters.artifactName }} targetPath: $(Build.StagingDirectory)/Test${{ parameters.configuration }} - condition: ne(variables['Agent.JobStatus'], 'Succeeded') + condition: true #ne(variables['Agent.JobStatus'], 'Succeeded') # Copy Build$(Configuration) folder into test result root and upload single artifact - ${{ if eq(parameters.includeBuildResults, true) }}: @@ -27,11 +27,11 @@ steps: inputs: sourceFolder: $(Build.StagingDirectory)/Build${{ parameters.configuration }} targetFolder: $(Build.StagingDirectory)/Test${{ parameters.configuration }}/Build${{ parameters.configuration }} - condition: ne(variables['Agent.JobStatus'], 'Succeeded') + condition: true #ne(variables['Agent.JobStatus'], 'Succeeded') - template: publish-artifact.yaml parameters: displayName: upload build and test results artifactName: ${{ parameters.artifactName }} targetPath: $(Build.StagingDirectory)/Test${{ parameters.configuration }} - condition: ne(variables['Agent.JobStatus'], 'Succeeded') + condition: true #ne(variables['Agent.JobStatus'], 'Succeeded') From 700387d74b67e8ddc3319b09eae082dfca68e6cd Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Fri, 28 Jan 2022 10:32:18 -0500 Subject: [PATCH 3/4] Upload binlog files as test attachments --- .../Tests/Xamarin.Android.Build.Tests/Utilities/BaseTest.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/BaseTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/BaseTest.cs index d4a8803a000..e811ae3175a 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/BaseTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/BaseTest.cs @@ -669,6 +669,9 @@ protected virtual void CleanupTest () foreach (var file in Directory.GetFiles (Path.Combine (output), "*.log", SearchOption.AllDirectories)) { TestContext.AddTestAttachment (file, Path.GetFileName (output)); } + foreach (var bl in Directory.GetFiles (Path.Combine (output), "*.binlog", SearchOption.AllDirectories)) { + TestContext.AddTestAttachment (bl, Path.GetFileName (output)); + } } } } From 1c32648052ea26d234cad8fb819c7ce317746252 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Fri, 28 Jan 2022 13:19:20 -0500 Subject: [PATCH 4/4] Revert testing changes --- .../automation/yaml-templates/apk-instrumentation.yaml | 2 +- build-tools/automation/yaml-templates/upload-results.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build-tools/automation/yaml-templates/apk-instrumentation.yaml b/build-tools/automation/yaml-templates/apk-instrumentation.yaml index 7c1c9b3973a..1840e634284 100644 --- a/build-tools/automation/yaml-templates/apk-instrumentation.yaml +++ b/build-tools/automation/yaml-templates/apk-instrumentation.yaml @@ -42,7 +42,7 @@ steps: mkdir -p "$DEST" && cp "${{ parameters.artifactSource }}" "$DEST" displayName: copy apk/aab - condition: true #ne(variables['agent.jobstatus'], 'Succeeded') + condition: ne(variables['Agent.JobStatus'], 'Succeeded') continueOnError: true - task: PublishTestResults@2 diff --git a/build-tools/automation/yaml-templates/upload-results.yaml b/build-tools/automation/yaml-templates/upload-results.yaml index ab82c9e2251..227794634fa 100644 --- a/build-tools/automation/yaml-templates/upload-results.yaml +++ b/build-tools/automation/yaml-templates/upload-results.yaml @@ -11,7 +11,7 @@ steps: arguments: --s=CopyExtraResultFilesForCI --verbosity v xaSourcePath: ${{ parameters.xaSourcePath }} displayName: Copy extra result files - condition: true #ne(variables['Agent.JobStatus'], 'Succeeded') + condition: ne(variables['Agent.JobStatus'], 'Succeeded') - ${{ if eq(parameters.includeBuildResults, false) }}: - template: publish-artifact.yaml @@ -19,7 +19,7 @@ steps: displayName: upload test results artifactName: ${{ parameters.artifactName }} targetPath: $(Build.StagingDirectory)/Test${{ parameters.configuration }} - condition: true #ne(variables['Agent.JobStatus'], 'Succeeded') + condition: ne(variables['Agent.JobStatus'], 'Succeeded') # Copy Build$(Configuration) folder into test result root and upload single artifact - ${{ if eq(parameters.includeBuildResults, true) }}: @@ -27,11 +27,11 @@ steps: inputs: sourceFolder: $(Build.StagingDirectory)/Build${{ parameters.configuration }} targetFolder: $(Build.StagingDirectory)/Test${{ parameters.configuration }}/Build${{ parameters.configuration }} - condition: true #ne(variables['Agent.JobStatus'], 'Succeeded') + condition: ne(variables['Agent.JobStatus'], 'Succeeded') - template: publish-artifact.yaml parameters: displayName: upload build and test results artifactName: ${{ parameters.artifactName }} targetPath: $(Build.StagingDirectory)/Test${{ parameters.configuration }} - condition: true #ne(variables['Agent.JobStatus'], 'Succeeded') + condition: ne(variables['Agent.JobStatus'], 'Succeeded')