Skip to content

Commit 1ac5529

Browse files
GijsWeteringsmeta-codesync[bot]
authored andcommitted
Demo: fail an Android Release E2E flow on the first attempt only (#59573)
Summary: Pull Request resolved: #59573 Demo only, stacked on the retry-chain fix so the exported PR shows on real CI that a failure which passes on retry still leaves CI green. Do not land. This adds an RNTester Maestro flow that always fails, and makes `e2e-android-rntester.yml` exclude it (tag `demo-fail-first-attempt`) on retries (`retry-attempt > 0`). It behaves like a test that flakes once: - `android-release-only` excludes it from the Android Debug job. - `local-screenshot-baseline` keeps it out of the Maestro Cloud runs. - A `when: platform: Android` condition makes it a no-op in the iOS E2E job. It also tags `sectionlist-viewability.yml` `android-release-only`, because that flow currently fails in Android Debug on every attempt. Otherwise `retry_2 / test (debug)` would go red for an unrelated reason. What the PR run should show: - `test_e2e_android_rntester`: the Release "Run E2E Tests" step fails, but `test (release)` and `test (debug)` both finish green, and `retry_1` starts. - `test_e2e_android_rntester_retry_1`: Release re-runs only the unfinished flows. The demo flow is excluded and the rest passed in the first attempt, so the job passes. Debug skips the run because every flow already passed. - `test_e2e_android_rntester_retry_2` is skipped, and no check from this chain is red. Changelog: [Internal] Differential Revision: D128054792
1 parent fb25131 commit 1ac5529

3 files changed

Lines changed: 22 additions & 1 deletion

File tree

‎.github/workflows/e2e-android-rntester.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ jobs:
7777
# These timing-sensitive flows remain covered by the release APK.
7878
# Running the debug ARM64 APK through native translation can delay
7979
# React commits long enough for Maestro to miss taps and assertions.
80-
exclude-tags: ${{ matrix.flavor == 'debug' && 'android-release-only' || '' }}
80+
exclude-tags: ${{ matrix.flavor == 'debug' && 'android-release-only' || (inputs.retry-attempt > 0 && 'demo-fail-first-attempt' || '') }}
8181
- name: Run E2E Tests
8282
# Same step without continue-on-error, so the final attempt fails
8383
# here. A step's continue-on-error expression doesn't see inputs.

‎packages/rn-tester/.maestro/sectionlist-viewability.yml‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
appId: ${APP_ID} # iOS: com.meta.RNTester.localDevelopment | Android: com.facebook.react.uiapp
2+
# DO NOT LAND: skipped in Android Debug for the retry demo; it currently fails there.
3+
tags:
4+
- android-release-only
25
---
36
- launchApp
47
- stopApp
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# DO NOT LAND. Fails on purpose in the first Android Release E2E attempt only,
2+
# to show that a failure that passes on retry keeps CI green.
3+
# - android-release-only: the Debug job excludes it.
4+
# - demo-fail-first-attempt: e2e-android-rntester.yml excludes it on retries.
5+
# - local-screenshot-baseline: keeps it out of the Maestro Cloud runs.
6+
# - The platform condition makes it a no-op in the iOS E2E job.
7+
appId: ${APP_ID}
8+
tags:
9+
- android-release-only
10+
- demo-fail-first-attempt
11+
- local-screenshot-baseline
12+
---
13+
- runFlow:
14+
when:
15+
platform: Android
16+
commands:
17+
- launchApp
18+
- assertVisible: 'Deliberate first-attempt failure to exercise the CI retry chain'

0 commit comments

Comments
 (0)