Skip to content

[build] Remove WearOS emulator CI lane#11257

Open
jonathanpeppers wants to merge 1 commit intomainfrom
jonathanpeppers/remove-wearos-emulator-lane
Open

[build] Remove WearOS emulator CI lane#11257
jonathanpeppers wants to merge 1 commit intomainfrom
jonathanpeppers/remove-wearos-emulator-lane

Conversation

@jonathanpeppers
Copy link
Copy Markdown
Member

@jonathanpeppers jonathanpeppers commented Apr 30, 2026

Context: #11203 (comment)

Summary

Remove the wear_tests job from stage-msbuild-emulator-tests.yaml and the
now-unused [Category ("WearOS")] attributes from the two test methods that
referenced it.

Rationale

The WearOS CI lane spins up 2 parallel macOS agents with an x86 API 30
wear_square emulator
(180-minute timeout each) to run just 2 test
methods
:

Test File What it actually tests
ApplicationRunsWithDebuggerAndBreaks DebuggingTest.cs Generic debugger attach/break -- not WearOS-specific
DotNetInstallAndRunPreviousSdk InstallAndRunTests.cs Generic install + run with previous SDK -- not WearOS-specific

Neither test exercises any WearOS API, layout, or behavior. They are standard
app tests that happen to be re-run on a Wear emulator.

These tests already run in the main MSBuild+Emulator lane. The main lane's
filter (cat != SystemApplication & cat != TimeZoneInfo & cat != Localization)
does not exclude the WearOS category, so both tests execute there too.

What is preserved

  • WearTests.cs -- 3 MSBuild-level build tests (BasicProject,
    BundledWearApp, WearProjectJavaBuildFailure) that validate WearOS project
    builds without needing an emulator.
  • android-wear template -- the dotnet new androidwear template and all
    its localization files are untouched.
  • XamarinAndroidWearApplicationProject -- test infrastructure class remains
    for use by the build-only tests.

What is removed

  • The wear_tests job (x86 API 30 android-wear emulator, 2 agents)
  • [Category ("WearOS")] from DebuggingTest.ApplicationRunsWithDebuggerAndBreaks
  • [Category ("WearOS")] from InstallAndRunTests.DotNetInstallAndRunPreviousSdk

Cost/benefit

Before After
macOS agent-minutes per PR 2 x 180 min (WearOS) + main lane main lane only
Unique test coverage from WearOS lane None -- tests are not WearOS-specific Same tests run in main lane
WearOS build validation WearTests.cs (3 tests) WearTests.cs (3 tests) -- unchanged
Flakiness from x86 API 30 Wear emulator Frequent failures Eliminated

The WearOS emulator lane runs 2 test methods on an x86 API 30
wear_square emulator, but neither test exercises WearOS-specific
functionality. Remove the lane and the now-unused WearOS category
from the test methods.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 30, 2026 21:34
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR removes the dedicated WearOS emulator CI job and drops the now-unused NUnit WearOS category from the two test methods that were only used to route tests into that lane.

Changes:

  • Removed the wear_tests job from build-tools/automation/yaml-templates/stage-msbuild-emulator-tests.yaml.
  • Removed [Category ("WearOS")] from ApplicationRunsWithDebuggerAndBreaks in DebuggingTest.cs.
  • Removed [Category ("WearOS")] from DotNetInstallAndRunPreviousSdk in InstallAndRunTests.cs.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
build-tools/automation/yaml-templates/stage-msbuild-emulator-tests.yaml Deletes the WearOS emulator CI lane/job and its steps.
tests/MSBuildDeviceIntegration/Tests/DebuggingTest.cs Removes WearOS-only test categorization while keeping the Debugger categorization.
tests/MSBuildDeviceIntegration/Tests/InstallAndRunTests.cs Removes WearOS-only test categorization from the previous-SDK install/run test.

@jonathanpeppers jonathanpeppers added the ready-to-review This PR is ready to review/merge, I think any CI failures are just flaky (ignorable). label Apr 30, 2026
@jonathanpeppers jonathanpeppers changed the title Remove WearOS emulator CI lane [build] Remove WearOS emulator CI lane Apr 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-review This PR is ready to review/merge, I think any CI failures are just flaky (ignorable).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants