Skip to content

fix(ci): retry API 37 infrastructure crashes - #179

Merged
attmous merged 1 commit into
masterfrom
codex/fix-api37-bluetooth-crash
Jul 20, 2026
Merged

fix(ci): retry API 37 infrastructure crashes#179
attmous merged 1 commit into
masterfrom
codex/fix-api37-bluetooth-crash

Conversation

@attmous

@attmous attmous commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a fail-closed managed-device runner that retries API 37 only for zero-test instrumentation startup crashes or the exact Android Bluetooth hardware-error abort
  • retain every failed infrastructure attempt and stop after two retries; assertions, identified MusFit process crashes, and exhaustion remain red
  • apply the same policy to ordinary and coverage journeys and expand only their hard timeout ceilings

Root cause

PR #178 fixed the stale localized assertions: hosted API 28 passed all 10 journeys and the repaired API 37 assertions passed. The exact merge-SHA device job then failed twice in the Android 37 emulator itself:

  1. Android Bluetooth aborted with Hardware Error Event with code 0x42 after two passing tests.
  2. A manual rerun produced a valid zero-test report with Instrumentation run failed due to Process crashed before any test began.

Verification

  • ./scripts/dev/test-dev-workflow.ps1 -SelfTest
  • ./scripts/dev/verify-musfit.ps1 -Preset Full -RetryOnGeneratedOutputIssue — 2,158 tasks passed; isolated CycloneDX SBOM passed
  • final wrapper command on musFitApi37InternalDebugAndroidTest — 10 tests, 0 failures/errors/skips
  • workflow YAML parsed locally and git diff --check passed

Risk and rollback

Risk is limited to the post-merge device lane. Product/test failures still fail immediately, infrastructure failures remain bounded, and all failed attempts are uploaded. Rollback is the single commit 8e228402473948c67d4db87163dce6df2aa7ad6f.

@attmous
attmous marked this pull request as ready for review July 20, 2026 23:06
@attmous
attmous merged commit 9275dfe into master Jul 20, 2026
2 checks passed
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.

1 participant