Skip to content

[ci] Enable Linux Android integration tests with workload and KVM support#34046

Draft
Copilot wants to merge 3 commits intofix-android-run-linuxfrom
copilot/sub-pr-33997
Draft

[ci] Enable Linux Android integration tests with workload and KVM support#34046
Copilot wants to merge 3 commits intofix-android-run-linuxfrom
copilot/sub-pr-33997

Conversation

Copy link
Contributor

Copilot AI commented Feb 13, 2026

The mac_runandroid_tests stage was moved to Linux pools but failed due to two issues: workload installation attempted to install the full maui workload (which includes iOS/macOS dependencies unavailable on Linux), and KVM was not enabled for Android emulator support.

Changes:

  • Modified src/DotNet/DotNet.csproj Install target to conditionally install maui-android on Linux, maui on other platforms
    • Aligns with existing pattern in _InstallWorkloadPacks target where iOS/macOS workloads are excluded on Linux
  • Added KVM enablement step to eng/pipelines/arcade/setup-test-env.yml for Android integration tests on Linux
    • Creates udev rules to allow KVM access for Android emulators
    • Matches pattern used in device-tests-steps.yml and ui-tests-steps.yml
<ItemGroup>
  <!-- On Linux, install maui-android instead of maui to avoid iOS/macOS dependencies -->
  <_LocalWorkloadIds Include="maui-android" Condition="$([MSBuild]::IsOSPlatform('linux'))" />
  <_LocalWorkloadIds Include="maui" Condition="!$([MSBuild]::IsOSPlatform('linux'))" />
</ItemGroup>

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

On Linux, we should install the maui-android workload instead of the full maui workload to avoid iOS/macOS dependencies that cannot be installed on Linux. This matches the pattern used in _InstallWorkloadPacks target where iOS/macOS workloads are excluded on Linux.

Co-authored-by: rmarinho <1235097+rmarinho@users.noreply.github.com>
Copilot AI changed the title [WIP] Update CI pipeline to run Android tests on Linux [ci] Install maui-android workload on Linux for Android integration tests Feb 13, 2026
Copilot AI requested a review from rmarinho February 13, 2026 16:56
@rmarinho
Copy link
Member

/azp run maui-pr

@azure-pipelines
Copy link

Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

@rmarinho
Copy link
Member

@copilot can you also check seems we need to enable KVM , we have a script for that somewhere

Android emulators require KVM to be enabled on Linux hosts. This adds the KVM enablement step to the setup-test-env.yml template, which is used by the integration tests stage.

The script creates udev rules to allow KVM access and reloads the udev rules. This matches the pattern used in device-tests-steps.yml and ui-tests-steps.yml.

Co-authored-by: rmarinho <1235097+rmarinho@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 13, 2026

@copilot can you also check seems we need to enable KVM , we have a script for that somewhere

I've enabled KVM for Android integration tests on Linux by adding the KVM enablement step to setup-test-env.yml. This matches the pattern used in device-tests-steps.yml and ui-tests-steps.yml.

The script creates udev rules to allow KVM access and is conditionally executed only on Linux agents.

Commit: ba58555

Copilot AI changed the title [ci] Install maui-android workload on Linux for Android integration tests [ci] Enable Linux Android integration tests with workload and KVM support Feb 13, 2026
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