Skip to content

Commit 0084162

Browse files
authored
[ci] Improve Mono.Android.NET_Tests configurations (#6951)
The test configurations for Mono.Android.NET_Tests have been updated to reflect recent changes in default settings for Release apps. The Aab and Aot configurations don't make much sense anymore, as they are both enabled by default. These have been replaced with NoAab and NoAot. A default Debug configuration has also been added. The `RunTestApp` target will now use the `Install` target from the product to allow the fast dev path to be exercised here as well.
1 parent e1f2198 commit 0084162

File tree

4 files changed

+51
-23
lines changed

4 files changed

+51
-23
lines changed

build-tools/automation/azure-pipelines.yaml

Lines changed: 45 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -630,30 +630,51 @@ stages:
630630
displayName: install emulator
631631
arguments: --s=EmulatorTestDependencies
632632

633+
# Set up dependencies to run tests in both debug and release configurations
634+
- task: DotNetCoreCLI@2
635+
displayName: build Xamarin.Android.Tools.BootstrapTasks.csproj
636+
inputs:
637+
projects: $(System.DefaultWorkingDirectory)/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj
638+
arguments: -c Debug -bl:$(System.DefaultWorkingDirectory)/bin/TestDebug/BootstrapTasks.binlog
639+
640+
- script: make prepare CONFIGURATION=Debug JI_JAVA_HOME=$(JI_JAVA_HOME) JAVA_HOME=$(JI_JAVA_HOME)
641+
workingDirectory: $(System.DefaultWorkingDirectory)/external/Java.Interop
642+
displayName: prepare java.interop
643+
633644
- script: make prepare CONFIGURATION=$(XA.Build.Configuration) JI_JAVA_HOME=$(JI_JAVA_HOME) JAVA_HOME=$(JI_JAVA_HOME)
634645
workingDirectory: $(System.DefaultWorkingDirectory)/external/Java.Interop
635646
displayName: prepare java.interop
636647

637648
- template: yaml-templates/apk-instrumentation.yaml
638649
parameters:
639650
configuration: $(XA.Build.Configuration)
640-
testName: Mono.Android.NET_Tests
651+
testName: Mono.Android.NET_Tests-$(XA.Build.Configuration)
641652
project: tests/Mono.Android-Tests/Runtime-Microsoft.Android.Sdk/Mono.Android.NET-Tests.csproj
642653
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration).xml
643-
extraBuildArgs: /p:AndroidPackageFormat=apk
654+
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
655+
artifactFolder: $(DotNetTargetFramework)-$(XA.Build.Configuration)
656+
useDotNet: true
657+
658+
- template: yaml-templates/apk-instrumentation.yaml
659+
parameters:
660+
buildConfiguration: $(XA.Build.Configuration)
661+
configuration: Debug
662+
testName: Mono.Android.NET_Tests-Debug
663+
project: tests/Mono.Android-Tests/Runtime-Microsoft.Android.Sdk/Mono.Android.NET-Tests.csproj
664+
testResultsFiles: TestResult-Mono.Android.NET_Tests-Debug.xml
644665
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.apk
645-
artifactFolder: $(DotNetTargetFramework)-Default
666+
artifactFolder: $(DotNetTargetFramework)-Debug
646667
useDotNet: true
647668

648669
- template: yaml-templates/apk-instrumentation.yaml
649670
parameters:
650671
configuration: $(XA.Build.Configuration)
651-
testName: Mono.Android.NET_Tests-Aab
672+
testName: Mono.Android.NET_Tests-NoAab
652673
project: tests/Mono.Android-Tests/Runtime-Microsoft.Android.Sdk/Mono.Android.NET-Tests.csproj
653-
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration)Aab.xml
654-
extraBuildArgs: /p:TestsFlavor=Aab /p:AndroidPackageFormat=aab
655-
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
656-
artifactFolder: $(DotNetTargetFramework)-Aab
674+
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration)NoAab.xml
675+
extraBuildArgs: -p:TestsFlavor=NoAab -p:AndroidPackageFormat=apk
676+
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.apk
677+
artifactFolder: $(DotNetTargetFramework)-NoAab
657678
useDotNet: true
658679

659680
- template: yaml-templates/apk-instrumentation.yaml
@@ -662,20 +683,20 @@ stages:
662683
testName: Mono.Android.NET_Tests-Interpreter
663684
project: tests/Mono.Android-Tests/Runtime-Microsoft.Android.Sdk/Mono.Android.NET-Tests.csproj
664685
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration)Interpreter.xml
665-
extraBuildArgs: /p:TestsFlavor=Interpreter /p:UseInterpreter=True /p:AndroidPackageFormat=apk
666-
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.apk
686+
extraBuildArgs: -p:TestsFlavor=Interpreter -p:UseInterpreter=True
687+
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
667688
artifactFolder: $(DotNetTargetFramework)-Interpreter
668689
useDotNet: true
669690

670691
- template: yaml-templates/apk-instrumentation.yaml
671692
parameters:
672693
configuration: $(XA.Build.Configuration)
673-
testName: Mono.Android.NET_Tests-Aot
694+
testName: Mono.Android.NET_Tests-NoAot
674695
project: tests/Mono.Android-Tests/Runtime-Microsoft.Android.Sdk/Mono.Android.NET-Tests.csproj
675-
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration)Aot.xml
676-
extraBuildArgs: /p:TestsFlavor=Aot /p:RunAOTCompilation=true /p:AndroidPackageFormat=apk
677-
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.apk
678-
artifactFolder: $(DotNetTargetFramework)-aot
696+
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration)NoAot.xml
697+
extraBuildArgs: -p:TestsFlavor=NoAot -p:RunAOTCompilation=false
698+
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
699+
artifactFolder: $(DotNetTargetFramework)-NoAot
679700
useDotNet: true
680701

681702
- template: yaml-templates/apk-instrumentation.yaml
@@ -684,9 +705,9 @@ stages:
684705
testName: Mono.Android.NET_Tests-AotLlvm
685706
project: tests/Mono.Android-Tests/Runtime-Microsoft.Android.Sdk/Mono.Android.NET-Tests.csproj
686707
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration)AotLlvm.xml
687-
extraBuildArgs: /p:TestsFlavor=AotLlvm /p:RunAOTCompilation=true /p:EnableLlvm=true /p:AndroidPackageFormat=apk
688-
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.apk
689-
artifactFolder: $(DotNetTargetFramework)-aotllvm
708+
extraBuildArgs: -p:TestsFlavor=AotLlvm -p:EnableLlvm=true
709+
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
710+
artifactFolder: $(DotNetTargetFramework)-AotLlvm
690711
useDotNet: true
691712

692713
- task: MSBuild@1
@@ -701,7 +722,12 @@ stages:
701722

702723
- template: yaml-templates/upload-results.yaml
703724
parameters:
704-
artifactName: Test Results - APKs .NET - macOS
725+
artifactName: Test Results - APKs .NET $(XA.Build.Configuration) - macOS
726+
727+
- template: yaml-templates/upload-results.yaml
728+
parameters:
729+
artifactName: Test Results - APKs .NET Debug - macOS
730+
configuration: Debug
705731

706732
- task: MSBuild@1
707733
displayName: build plots-to-appinsights

build-tools/automation/yaml-templates/apk-instrumentation.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
parameters:
2+
buildConfiguration: $(XA.Build.Configuration)
23
configuration: $(XA.Build.Configuration)
34
xaSourcePath: $(System.DefaultWorkingDirectory)
45
testName: ""
@@ -29,7 +30,7 @@ steps:
2930
- ${{ if eq(parameters.useDotNet, true) }}:
3031
- template: run-dotnet-preview.yaml
3132
parameters:
32-
configuration: ${{ parameters.configuration }}
33+
configuration: ${{ parameters.buildConfiguration }}
3334
xaSourcePath: ${{ parameters.xaSourcePath }}
3435
displayName: run ${{ parameters.testName }}
3536
project: ${{ parameters.project }}

build-tools/scripts/TestApks.targets

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -400,9 +400,7 @@
400400
<PropertyGroup>
401401
<RunTestAppDependsOn>
402402
AcquireAndroidTarget;
403-
SignAndroidPackage;
404-
DeployTestApks;
405-
DeployTestAabs;
403+
Install;
406404
CheckAndRecordApkSizes;
407405
RunTestApks;
408406
UndeployTestApks;

samples/VSAndroidAppProxy.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,7 @@
3131
<Target Name="SignAndroidPackage">
3232
<MSBuild Projects="$(_OriginalProject)" Targets="SignAndroidPackage" Properties="$(_OverrideProps)" />
3333
</Target>
34+
<Target Name="Install">
35+
<MSBuild Projects="$(_OriginalProject)" Targets="Install" Properties="$(_OverrideProps)" />
36+
</Target>
3437
</Project>

0 commit comments

Comments
 (0)