Skip to content

Add dispatchable E2E Maestro workflow - #2

Merged
jwajgelt merged 2 commits into
mainfrom
jwajgelt/e2e-maestro-workflow
Aug 27, 2026
Merged

jwajgelt merged 2 commits into
mainfrom
jwajgelt/e2e-maestro-workflow

Conversation

@jwajgelt

Copy link
Copy Markdown
Member

Summary:

Follow-up to #1, which moved the iOS Maestro E2E tests onto Linux runners with sim-remote but left them only reachable through test-all. This adds a workflow_dispatch-only workflow that runs just the two Maestro E2E flows, based on test-all but omitting Android, SPM, unit-test, and lint jobs.

Jobs:

  • prebuild_apple_dependencies → prebuild_react_native_core — the reusable Apple prebuild chain (same use-hermes-prebuilt logic as test-all)
  • build_rntester_app (macOS, Debug/Release) — test-ios-rntester action with use-prebuilds: true; uploads the RNTesterApp-NewArch-<flavor> artifacts, unit tests off (build only)
  • build_npm_package (containerized, release-type: dry-run) — produces the react-native-package .tgz the template app E2E consumes
  • test_e2e_ios_rntester / test_e2e_ios_templateapp — the reusable E2E workflows, called with fail-on-error: true so the run goes red on test failure (there is no retry chain here, unlike test-all)

Dropped relative to test-all: the react/react-native repo guard, path-change filtering, release-type detection (hardcoded dry-run), all Android/SPM/helloworld/unit-test/lint jobs, and the retry chains.

Reviewer note: runner labels are kept from test-all (macos-15-large, 8-core-ubuntu). If those larger-runner labels aren't configured for this org, swap in macos-15 / ubuntu-latest or the jobs will queue forever.

Changelog:

[INTERNAL] [ADDED] - Dispatchable workflow that runs only the iOS Maestro E2E flows

Test Plan:

  • YAML parses (yaml.safe_load).
  • Job wiring mirrors test-all: artifact producers (RNTesterApp-NewArch-*, react-native-package, ReactNativeDependencies*, ReactCore*) match what e2e-ios-rntester.yml / e2e-ios-templateapp.yml download.
  • Not run end-to-end; dispatch it from the Actions tab to exercise it.

A trimmed-down test-all that builds only what the two iOS Maestro E2E
flows need (Apple prebuilds, RNTester app, npm package dry-run) and
runs them with fail-on-error, omitting Android, SPM, unit-test, and
lint jobs.
The larger-runner labels (macos-15-large, macos-26-large, 8-core-ubuntu)
are configured for upstream, not this org; jobs using them would queue
forever.
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