Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
858cdc0
Remove support for classic XA from the native code
grendello Feb 17, 2023
cc5e44f
Merge branch 'main' into native-code-classic-cleanup
grendello Feb 20, 2023
73b57e1
Remove classic stuff from the installers and fix the build
grendello Feb 20, 2023
05f1d0a
Don't try to package desktop dlls (for designer)
grendello Feb 20, 2023
a95d913
See whether this fixes the Windows build
grendello Feb 20, 2023
56f9e28
Update and remove tests
grendello Feb 21, 2023
c054a00
Remove BCL tests
grendello Feb 21, 2023
7ead601
Merge branch 'main' into native-code-classic-cleanup
grendello Feb 21, 2023
9c91ff8
Remove more classic tests
grendello Feb 21, 2023
4271a58
Merge branch 'main' into native-code-classic-cleanup
grendello Feb 23, 2023
6cd61f1
Fix
grendello Feb 24, 2023
b233500
Merge branch 'main' into native-code-classic-cleanup
grendello Feb 24, 2023
92c832f
Merge branch 'main' into native-code-classic-cleanup
grendello Feb 28, 2023
d30cd08
Remove BCL test again, after merge from main
grendello Feb 28, 2023
c42b6c4
Merge branch 'main' into native-code-classic-cleanup
grendello Feb 28, 2023
c0e4b12
Merge branch 'main' into native-code-classic-cleanup
grendello Mar 1, 2023
19123eb
Merge branch 'main' into native-code-classic-cleanup
grendello Mar 6, 2023
e468138
Merge branch 'main' into native-code-classic-cleanup
grendello Mar 9, 2023
cca8cd4
Merge branch 'main' into native-code-classic-cleanup
grendello Mar 10, 2023
0fe5ebf
Merge branch 'main' into native-code-classic-cleanup
grendello Mar 13, 2023
9493a43
Merge branch 'main' into native-code-classic-cleanup
grendello Mar 15, 2023
4dbe22a
Fixup after merge
grendello Mar 15, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
277 changes: 3 additions & 274 deletions build-tools/automation/azure-pipelines.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -96,208 +96,6 @@ stages:
displayName: Package Tests
dependsOn: mac_build
jobs:
# Check - "Xamarin.Android (macOS > Tests > APKs Classic)"
- job: mac_apk_tests_legacy
displayName: macOS > Tests > APKs Classic
# Disabled on .NET release branches
condition: and(succeeded(), eq(variables.IsRelOrTargetingRel, 'False'))
pool:
vmImage: $(HostedMacImage)
timeoutInMinutes: 180
workspace:
clean: all
variables:
ApkTestConfiguration: Release
steps:
- template: yaml-templates/setup-test-environment.yaml
parameters:
configuration: $(ApkTestConfiguration)
provisionatorChannel: ${{ parameters.provisionatorChannel }}

- template: yaml-templates/run-xaprepare.yaml
parameters:
displayName: install emulator
arguments: --s=EmulatorTestDependencies

- template: yaml-templates/run-dotnet-preview.yaml
parameters:
project: Xamarin.Android.sln
arguments: -t:PrepareJavaInterop -c $(XA.Build.Configuration) -m:1 -v:n
displayName: prepare java.interop $(XA.Build.Configuration)
continueOnError: false

- template: yaml-templates/apk-instrumentation.yaml
parameters:
configuration: $(ApkTestConfiguration)
testName: Xamarin.Android.JcwGen_Tests
project: tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Xamarin.Android.JcwGen-Tests.csproj
testResultsFiles: TestResult-Xamarin.Android.JcwGen_Tests-$(ApkTestConfiguration).xml
artifactSource: bin/Test$(ApkTestConfiguration)/Xamarin.Android.JcwGen_Tests-Signed.apk
artifactFolder: Default
useDotNet: false

- template: yaml-templates/apk-instrumentation.yaml
parameters:
configuration: $(ApkTestConfiguration)
testName: Xamarin.Android.JcwGen_Tests_FastDev
project: tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Xamarin.Android.JcwGen-Tests.csproj
testResultsFiles: TestResult-Xamarin.Android.JcwGen_Tests-$(ApkTestConfiguration).xml
artifactSource: bin/Test$(ApkTestConfiguration)/Xamarin.Android.JcwGen_Tests-Signed.apk
artifactFolder: FastDev_Assemblies_Dexes
extraBuildArgs: /p:AndroidFastDeploymentType=Assemblies:Dexes
useDotNet: false

- template: yaml-templates/apk-instrumentation.yaml
parameters:
configuration: $(ApkTestConfiguration)
testName: Xamarin.Android.Locale_Tests
project: tests/locales/Xamarin.Android.Locale-Tests/Xamarin.Android.Locale-Tests.csproj
testResultsFiles: TestResult-Xamarin.Android.Locale_Tests-$(ApkTestConfiguration).xml
artifactSource: bin/Test$(ApkTestConfiguration)/Xamarin.Android.Locale_Tests-Signed.apk
artifactFolder: Default
useDotNet: false

- template: yaml-templates/apk-instrumentation.yaml
parameters:
configuration: $(ApkTestConfiguration)
testName: Xamarin.Android.Locale_Tests-Aot
project: tests/locales/Xamarin.Android.Locale-Tests/Xamarin.Android.Locale-Tests.csproj
testResultsFiles: TestResult-Xamarin.Android.Locale_Tests-$(ApkTestConfiguration)-Aot.xml
extraBuildArgs: /p:AotAssemblies=True
artifactSource: bin/Test$(ApkTestConfiguration)/Xamarin.Android.Locale_Tests-Signed.apk
artifactFolder: Aot
useDotNet: false

- template: yaml-templates/apk-instrumentation.yaml
parameters:
configuration: $(ApkTestConfiguration)
testName: Xamarin.Android.Locale_Tests-Profiled-Aot
project: tests/locales/Xamarin.Android.Locale-Tests/Xamarin.Android.Locale-Tests.csproj
testResultsFiles: TestResult-Xamarin.Android.Locale_Tests-$(ApkTestConfiguration)-Profiled-Aot.xml
extraBuildArgs: /p:AotAssemblies=True /p:AndroidEnableProfiledAot=true
artifactSource: bin/Test$(ApkTestConfiguration)/Xamarin.Android.Locale_Tests-Signed.apk
artifactFolder: Profiled-Aot
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We may want to hold off on deletion of the classic apk job until we have equivalents for .NET? I know there is a PR for the codegen related projects here #7682. Otherwise, we should log an issue for porting the remaining missing tests.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pjcollins without removal of these fragments we'd constantly have test errors which would never work after merging of this PR. It's easy to restore these fragments when .NET equivalents of the affected tests are available.

Copy link
Member

@pjcollins pjcollins Feb 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can file an issue to track those updates then if we plan to merge this PR soon.

I think we should also stop building and signing the classic .pkg and .vsix files completely as part of this PR since they will no longer be functional. These steps can be found in the windows build template, the commercial-build template, and the Prepare Classic Release stage.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I filed a tracking issue for this here: #7906.

useDotNet: false

- template: yaml-templates/apk-instrumentation.yaml
parameters:
configuration: $(ApkTestConfiguration)
testName: Xamarin.Android.EmbeddedDSO_Test
project: tests/EmbeddedDSOs/EmbeddedDSO/EmbeddedDSO.csproj
testResultsFiles: TestResult-Xamarin.Android.EmbeddedDSO_Test.nunit-$(ApkTestConfiguration).xml
artifactSource: bin/Test$(ApkTestConfiguration)/Xamarin.Android.EmbeddedDSO_Test-Signed.apk
artifactFolder: Default
useDotNet: false

- template: yaml-templates/apk-instrumentation.yaml
parameters:
configuration: $(ApkTestConfiguration)
testName: Xamarin.Forms-Performance-Integration
project: tests/Xamarin.Forms-Performance-Integration/Droid/Xamarin.Forms.Performance.Integration.Droid.csproj
testResultsFiles: TestResult-apkdiff-Xamarin.Forms_Performance_Integration-Signed-$(ApkTestConfiguration).xml
artifactSource: bin/Test$(ApkTestConfiguration)/Xamarin.Forms_Performance_Integration-Signed.apk
artifactFolder: Default
useDotNet: false

- template: yaml-templates/apk-instrumentation.yaml
parameters:
configuration: $(ApkTestConfiguration)
testName: Xamarin.Forms-Performance-Integration-Aot
project: tests/Xamarin.Forms-Performance-Integration/Droid/Xamarin.Forms.Performance.Integration.Droid.csproj
testResultsFiles: TestResult-apkdiff-Xamarin.Forms_Performance_Integration-Signed-$(ApkTestConfiguration)-Aot.xml
extraBuildArgs: /p:AotAssemblies=true
artifactSource: bin/Test$(ApkTestConfiguration)/Xamarin.Forms_Performance_Integration-Signed.apk
artifactFolder: Aot
useDotNet: false

- template: yaml-templates/apk-instrumentation.yaml
parameters:
configuration: $(ApkTestConfiguration)
testName: Xamarin.Forms-Performance-Integration-Profiled-Aot
project: tests/Xamarin.Forms-Performance-Integration/Droid/Xamarin.Forms.Performance.Integration.Droid.csproj
testResultsFiles: TestResult-apkdiff-Xamarin.Forms_Performance_Integration-Signed-$(ApkTestConfiguration)-Profiled-Aot.xml
extraBuildArgs: /p:AotAssemblies=True /p:AndroidEnableProfiledAot=true
artifactSource: bin/Test$(ApkTestConfiguration)/Xamarin.Forms_Performance_Integration-Signed.apk
artifactFolder: Profiled-Aot
useDotNet: false

- template: yaml-templates/apk-instrumentation.yaml
parameters:
configuration: $(ApkTestConfiguration)
testName: VSAndroidApp
project: samples/VSAndroidAppProxy.csproj
testResultsFiles: TestResult-apkdiff-com.companyname.vsandroidapp-Signed-$(ApkTestConfiguration).xml
artifactSource: bin/Test$(ApkTestConfiguration)/com.companyname.vsandroidapp-Signed.apk
artifactFolder: Default
useDotNet: false

- task: MSBuild@1
displayName: shut down emulator
inputs:
solution: tests/Mono.Android-Tests/Mono.Android-Tests.csproj
configuration: $(ApkTestConfiguration)
msbuildArguments: >-
/t:AcquireAndroidTarget,ReleaseAndroidTarget
/bl:$(System.DefaultWorkingDirectory)/bin/Test$(ApkTestConfiguration)/shutdown-emulator.binlog
condition: always()

- template: yaml-templates/upload-results.yaml
parameters:
configuration: $(ApkTestConfiguration)
artifactName: Test Results - APKs Legacy - macOS

# Plots: Utilize command-line utility built here to send plot information contained in CSV files to AppInsights
- task: MSBuild@1
displayName: build plots-to-appinsights
inputs:
solution: build-tools/plots-to-appinsights/ProcessPlotCSVFile.csproj
configuration: $(ApkTestConfiguration)
msbuildArguments: >-
/restore
/t:Build
/v:normal
/bl:$(System.DefaultWorkingDirectory)/bin/Test$(ApkTestConfiguration)/plots-to-appinsights.binlog
continueOnError: true
condition: and(succeeded(), or(eq(variables['Build.Reason'], 'IndividualCI'), eq(variables['Build.Reason'], 'Manual')))

# Process Plot CSV files and send results to AppInsights
# XamarinAndroidMetrics: https://ms.portal.azure.com/#@microsoft.onmicrosoft.com/resource/subscriptions/64e11c84-c922-4ffd-bea9-67ab39354edd/resourceGroups/XamarinMetrics/providers/microsoft.insights/components/XamarinAndroidMetrics/overview
# UNDONE: Need plot definitions for the following files:
# TestResult-Xamarin.Android.EmbeddedDSO_Test-times.csv

- template: yaml-templates/plots-to-appinsights.yaml
parameters:
condition: and(succeeded(), or(eq(variables['Build.Reason'], 'IndividualCI'), eq(variables['Build.Reason'], 'Manual')))
configuration: $(ApkTestConfiguration)
plotGroup: Test times
plotTitle: Runtime merged
plotPathAndFilename: $(System.DefaultWorkingDirectory)/TestResult-Mono.Android_Tests-times.csv

- template: yaml-templates/plots-to-appinsights.yaml
parameters:
condition: and(succeeded(), or(eq(variables['Build.Reason'], 'IndividualCI'), eq(variables['Build.Reason'], 'Manual')))
configuration: $(ApkTestConfiguration)
plotGroup: Test times
plotTitle: Jcw
plotPathAndFilename: $(System.DefaultWorkingDirectory)/TestResult-Xamarin.Android.JcwGen_Tests-times.csv

- template: yaml-templates/plots-to-appinsights.yaml
parameters:
condition: and(succeeded(), or(eq(variables['Build.Reason'], 'IndividualCI'), eq(variables['Build.Reason'], 'Manual')))
configuration: $(ApkTestConfiguration)
plotGroup: Test times
plotTitle: Locale
plotPathAndFilename: $(System.DefaultWorkingDirectory)/TestResult-Xamarin.Android.Locale_Tests-times.csv

- template: yaml-templates/plots-to-appinsights.yaml
parameters:
condition: and(succeeded(), or(eq(variables['Build.Reason'], 'IndividualCI'), eq(variables['Build.Reason'], 'Manual')))
configuration: $(ApkTestConfiguration)
plotGroup: Test times
plotTitle: Xamarin.Forms app startup
plotPathAndFilename: $(System.DefaultWorkingDirectory)/TestResult-Xamarin.Forms_Test-times.csv

- template: yaml-templates/fail-on-issue.yaml

# Check - "Xamarin.Android (macOS > Tests > APKs .NET)"
- job: mac_apk_tests_net
Expand All @@ -317,7 +115,7 @@ stages:
parameters:
displayName: install emulator
arguments: --s=EmulatorTestDependencies

- task: DownloadPipelineArtifact@2
inputs:
artifactName: $(TestAssembliesArtifactName)
Expand Down Expand Up @@ -491,79 +289,10 @@ stages:
artifactName: Test Results - MSBuild Smoke - Linux

- template: yaml-templates/fail-on-issue.yaml

- template: yaml-templates/stage-msbuild-tests.yaml

- template: yaml-templates/stage-msbuild-emulator-tests.yaml

- stage: bcl_tests
displayName: BCL Emulator Tests
dependsOn: mac_build
# Disabled on .NET release branches
condition: and(succeeded(), eq(variables.IsRelOrTargetingRel, 'False'))
jobs:
# Check - "Xamarin.Android (macOS > Tests > BCL (Emulator))"
- job: mac_bcl_tests
displayName: macOS > Tests > BCL (Emulator)
pool:
vmImage: $(HostedMacImage)
timeoutInMinutes: 180
workspace:
clean: all
steps:
- template: yaml-templates/setup-test-environment.yaml
parameters:
provisionatorChannel: ${{ parameters.provisionatorChannel }}

- template: yaml-templates/run-xaprepare.yaml
parameters:
displayName: install emulator
arguments: --s=EmulatorTestDependencies

- task: DownloadPipelineArtifact@2
inputs:
artifactName: $(TestAssembliesArtifactName)
downloadPath: $(System.DefaultWorkingDirectory)/bin/$(XA.Build.Configuration)

- task: MSBuild@1
displayName: build remap-assembly-ref.csproj
inputs:
solution: build-tools/remap-assembly-ref/remap-assembly-ref.csproj
configuration: $(XA.Build.Configuration)
msbuildArguments: /restore /bl:$(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/remap-assembly-ref.binlog

- template: yaml-templates/apk-instrumentation.yaml
parameters:
configuration: $(XA.Build.Configuration)
testName: Xamarin.Android.Bcl-Tests
project: tests/BCL-Tests/Xamarin.Android.Bcl-Tests/Xamarin.Android.Bcl-Tests.csproj
testResultsFiles: TestResult-Xamarin.Android.Bcl_Tests.nunit-$(XA.Build.Configuration).xml
artifactSource: bin/Test$(XA.Build.Configuration)/Xamarin.Android.Bcl_Tests-Signed.apk
artifactFolder: Default
useDotNet: false

- task: PublishTestResults@2
displayName: publish Xamarin.Android.Bcl-Tests-XUnit results
inputs:
testResultsFormat: NUnit
testResultsFiles: TestResult-Xamarin.Android.Bcl_Tests.xunit-$(XA.Build.Configuration).xml
testRunTitle: Xamarin.Android.Bcl-Tests-NUnit

- task: MSBuild@1
displayName: shut down emulator
inputs:
solution: tests/BCL-Tests/Xamarin.Android.Bcl-Tests/Xamarin.Android.Bcl-Tests.csproj
configuration: $(XA.Build.Configuration)
msbuildArguments: >-
/t:AcquireAndroidTarget,ReleaseAndroidTarget
/bl:$(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/shutdown-emulator.binlog
condition: always()

- template: yaml-templates/upload-results.yaml
parameters:
artifactName: Test Results - BCL With Emulator - macOS
- template: yaml-templates/stage-msbuild-tests.yaml

- template: yaml-templates/fail-on-issue.yaml
- template: yaml-templates/stage-msbuild-emulator-tests.yaml

- stage: dotnet_prepare_release
displayName: Prepare .NET Release
Expand Down
79 changes: 0 additions & 79 deletions build-tools/automation/yaml-templates/run-designer-tests.yml

This file was deleted.

Loading