Skip to content

Fail iOS RNTester E2E straight away when the app artifact is missing - #59641

Open
cipolleschi wants to merge 1 commit into
cipolleschi/e2e-ios-6-overlap-setupfrom
cipolleschi/e2e-ios-7-artifact-gate
Open

cipolleschi wants to merge 1 commit into
cipolleschi/e2e-ios-6-overlap-setupfrom
cipolleschi/e2e-ios-7-artifact-gate

Conversation

@cipolleschi

@cipolleschi cipolleschi commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Stack (iOS RNTester E2E cost, review bottom-up):

  1. Retry failing iOS E2E flows once and stop rerunning real failures #59635
  2. Cancel superseded Test All runs on pull requests #59636
  3. Run iOS E2E flows in a single Maestro invocation #59637
  4. Run the FlatList maintainVisibleContentPosition E2E flows in Release only on iOS #59638
  5. Deep-link into the FlatList maintainVisibleContentPosition example in E2E flows #59639
  6. Overlap simulator boot with the rest of the iOS E2E setup #59640
  7. Fail iOS RNTester E2E straight away when the app artifact is missing #59641 ← this PR
  8. Run iOS RNTester E2E tests on Apple Silicon runners #59642

Summary:

Part 7 of the iOS E2E cost stack.

test_e2e_ios_rntester only checks that test_ios_rntester succeeded, but test_ios_rntester uses continue-on-error, so it reports success even when the leg that uploads RNTesterApp-NewArch-<flavor> failed (the upload is its last step). In run 40709683649 the Release app was never uploaded and the E2E job still started, and retried, three times.

Download the app as the first step after checkout, and treat a missing app as a non-retryable failure with an error that points to the build job, instead of an incomplete run that triggers the workflow retries.

Gating in test-all.yml on the artifact itself would need actions: read to list artifacts, which the reusable workflow can't get under Test All's contents: read.

Changelog:

[INTERNAL] [CHANGED] - Fail iOS RNTester E2E straight away when the app artifact is missing

Test Plan:

  • actionlint reports no new issues.
  • The missing-artifact path matches run 40709683649: download-artifact fails after its 3 attempts, the job is classified failed, and the run fails without workflow retries.

test_e2e_ios_rntester only checks that test_ios_rntester succeeded, but
test_ios_rntester uses continue-on-error, so it reports success even when
the leg that uploads RNTesterApp-NewArch-<flavor> failed. In run
40709683649 the Release app was never uploaded and the E2E job still
started (and retried) three times.

Download the app as the first step after checkout, and treat a missing
app as a non-retryable failure with an error that points to the build
job, instead of an incomplete run that triggers the workflow retries.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant