Skip to content

[ci] Add MAUI full R2R android-arm Helix test#12020

Open
simonrozsival wants to merge 10 commits into
mainfrom
android-add-more-coreclr-testing
Open

[ci] Add MAUI full R2R android-arm Helix test#12020
simonrozsival wants to merge 10 commits into
mainfrom
android-add-more-coreclr-testing

Conversation

@simonrozsival

Copy link
Copy Markdown
Member

Summary

  • build the MAUI template with CoreCLR full ReadyToRun for android-arm
  • set _MauiPublishReadyToRunPartial=false and assert no partial R2R inputs remain
  • run the APK on the windows.11.amd64.android-armel.open Helix queue

Validation

  • parsed edited YAML files
  • git diff --check

simonrozsival and others added 6 commits July 8, 2026 11:15
Build the MAUI template with CoreCLR full ReadyToRun for android-arm, disable MAUI partial R2R with _MauiPublishReadyToRunPartial=false, and run the APK on the windows.11.amd64.android-armel.open Helix queue.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Run MAUI CoreCLR R2R coverage across android-arm64 and android-arm, with default MAUI R2R settings and _MauiPublishReadyToRunPartial=false full-R2R settings. Rename the helper template and avoid the PowerShell read-only Error variable.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Avoid Java keyword package segments in the default R2R matrix cases by using baseline package suffixes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Invoke helixpublish.proj with the prepared repo-local dotnet msbuild instead of eng/common/msbuild.ps1, which requires tools.dotnet in global.json and fails in this pipeline.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add Microsoft.DotNet.Helix.Sdk to global.json so dotnet msbuild can resolve eng/common/helixpublish.proj when submitting MAUI R2R APK work items.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy Android SDK platform-tools into each MAUI R2R Helix payload and run the payload-local adb.exe instead of assuming adb is on the Helix queue PATH.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@simonrozsival simonrozsival marked this pull request as ready for review July 9, 2026 07:07
Copilot AI review requested due to automatic review settings July 9, 2026 07:07

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds CI validation for MAUI template apps built with CoreCLR + ReadyToRun and executed on Android Helix queues, including a “full R2R” configuration that asserts no partial-R2R inputs remain.

Changes:

  • Pin Microsoft.DotNet.Helix.Sdk in global.json so eng/common/helixpublish.proj can restore/build reliably.
  • Introduce a new pipeline template to (1) clone the MAUI template into per-case matrix projects, (2) build APKs with R2R settings, (3) package an adb-driven Helix work item, and (4) submit/runs it via helixpublish.proj.
  • Invoke the new template from both internal and public AzDO pipelines in the MAUI integration job.
Show a summary per file
File Description
global.json Adds a pinned MSBuild SDK version for Microsoft.DotNet.Helix.Sdk.
build-tools/automation/yaml-templates/run-maui-r2r-helix-matrix.yaml New template to configure MAUI R2R matrix projects, build APKs, package Helix payload, and submit to Helix queues.
build-tools/automation/azure-pipelines.yaml Wires the new MAUI R2R Helix matrix template into the MAUI integration job (internal pipeline).
build-tools/automation/azure-pipelines-public.yaml Wires the new MAUI R2R Helix matrix template into the MAUI integration job (public pipeline).

Copilot's findings

  • Files reviewed: 4/4 changed files
  • Comments generated: 3

Comment on lines +8 to +12
testCases:
- name: android-arm64-default
runtimeIdentifier: android-arm64
packageName: com.xamarin.mauir2r.arm64.baseline
helixQueue: windows.11.amd64.android.open
Comment on lines +141 to +145
project: ${{ parameters.matrixDirectory }}/${{ testCase.name }}/MauiTestProj.csproj
arguments: >-
-f $(DotNetTargetFramework)-android -c Release
${{ parameters.extraBuildArguments }}
-bl:${{ parameters.logsDirectory }}/MauiTestProj-${{ testCase.name }}.binlog
Comment on lines +9 to +13
- name: android-arm64-default
runtimeIdentifier: android-arm64
packageName: com.xamarin.mauir2r.arm64.baseline
helixQueue: windows.11.amd64.android.open
displayName: android-arm64 default R2R
simonrozsival and others added 4 commits July 9, 2026 10:08
Use a repo-owned Helix project so each MAUI R2R scenario sets a descriptive Azure Pipelines test run and work item name. Download Helix result files into the MAUI logs artifact and upload scenario, device, package, and full logcat diagnostics from each work item.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove DownloadFilesFromResults=**/* from the MAUI R2R Helix work item. The Helix SDK treats it as part of a Windows path while downloading result files, causing a successful work item to fail the submission step.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants