Skip to content

[build] Remove WearOS emulator CI lane - #11257

Merged
simonrozsival merged 1 commit into
mainfrom
jonathanpeppers/remove-wearos-emulator-lane
May 1, 2026
Merged

[build] Remove WearOS emulator CI lane#11257
simonrozsival merged 1 commit into
mainfrom
jonathanpeppers/remove-wearos-emulator-lane

Conversation

@jonathanpeppers

@jonathanpeppersjonathanpeppers commented Apr 30, 2026

Copy link
Copy Markdown
Member

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
:

TestFileWhat it actually tests
ApplicationRunsWithDebuggerAndBreaksDebuggingTest.csGeneric debugger attach/break -- not WearOS-specific
DotNetInstallAndRunPreviousSdkInstallAndRunTests.csGeneric 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

BeforeAfter
macOS agent-minutes per PR2 x 180 min (WearOS) + main lanemain lane only
Unique test coverage from WearOS laneNone -- tests are not WearOS-specificSame tests run in main lane
WearOS build validationWearTests.cs (3 tests)WearTests.cs (3 tests) -- unchanged
Flakiness from x86 API 30 Wear emulatorFrequent failuresEliminated

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>
CopilotAI review requested due to automatic review settings April 30, 2026 21:34

CopilotAI 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

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.

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

@jonathanpeppersjonathanpeppers 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
@jonathanpeppersjonathanpeppers changed the title Remove WearOS emulator CI lane[build] Remove WearOS emulator CI laneApr 30, 2026
@simonrozsival
simonrozsival merged commit 7f40444 into mainMay 1, 2026
6 of 7 checks passed
@simonrozsival
simonrozsival deleted the jonathanpeppers/remove-wearos-emulator-lane branch May 1, 2026 07:47
@github-actionsgithub-actionsBot locked and limited conversation to collaborators May 31, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

ready-to-reviewThis 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.

3 participants

@jonathanpeppers@simonrozsival