Add retry mechanism to Maestro e2e tests#1723
Merged
Merged
Conversation
Wraps maestro test execution in a retry loop (up to 6 attempts) to combat flaky test failures, matching the mechanism already in purchases-ios. Made-with: Cursor
Runs 10 maestro iOS e2e test jobs in parallel to validate the retry mechanism under load. Remove after validation. Made-with: Cursor
Made-with: Cursor
Replace local run_maestro_with_retries with the new run_maestro_e2e_tests action from the fastlane plugin for centralized Maestro retry logic. Made-with: Cursor
Made-with: Cursor
The stress test validated the Maestro retry mechanism successfully. Made-with: Cursor
Made-with: Cursor # Conflicts: # Gemfile.lock
The maestro retry action has been merged to main. Made-with: Cursor
tonidero
approved these changes
Apr 16, 2026
This was referenced Apr 16, 2026
RCGitBot
added a commit
that referenced
this pull request
Apr 17, 2026
**This is an automatic release.** ## RevenueCat SDK ### 🐞 Bugfixes * [EXTERNAL] Fix Wasm incompatibility in web error processing (#1684) contributed by @brunovsiqueira (#1722) via Toni Rico (@tonidero) ### 📦 Dependency Updates * [AUTOMATIC BUMP] Updates purchases-hybrid-common to 18.1.0 (#1726) via RevenueCat Git Bot (@RCGitBot) * [Android 10.2.0](https://github.com/RevenueCat/purchases-android/releases/tag/10.2.0) * [iOS 5.68.0](https://github.com/RevenueCat/purchases-ios/releases/tag/5.68.0) ### 🔄 Other Changes * Add retry mechanism to Maestro e2e tests (#1723) via Antonio Pallares (@ajpallares) * Bump fastlane-plugin-revenuecat_internal from `20911d1` to `a1eed48` (#1725) via dependabot[bot] (@dependabot[bot]) * Skip test cases list in maestro tests using launch arguments (#1714) via Antonio Pallares (@ajpallares) * Add CircleCI job for maestro E2E tests (#1699) via Antonio Pallares (@ajpallares) * Add maestro E2E test for purchase through paywall (#1698) via Antonio Pallares (@ajpallares) * Add maestro E2E test app (#1654) via Antonio Pallares (@ajpallares) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk release bookkeeping: primarily version bumps and changelog/version-matrix updates, with no functional logic changes in the plugin code beyond reporting the new version string. > > **Overview** > Updates the SDKs to **v`10.0.1`** by bumping version identifiers across `pubspec.yaml`, Android Gradle configs, and iOS/macOS podspecs (including the runtime-reported plugin version strings). > > Refreshes release documentation (`CHANGELOG.md`, `CHANGELOG-LATEST.md`, `VERSIONS.md`) to include the `10.0.1` notes (Wasm web error-processing fix) and the dependency bump to `purchases-hybrid-common` `18.1.0` (Android `10.2.0`, iOS `5.68.0`). > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit ff0bb5e. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
run_maestro_e2e_testsaction from the fastlane plugin instead of inline logicDependencies
Test plan
Note
Medium Risk
Changes CI test execution behavior by introducing retries via a plugin action, which could mask intermittent failures or alter reporting/output paths if misconfigured.
Overview
Updates the iOS and Android Fastlane Maestro E2E lanes to delegate test execution to the shared
run_maestro_e2e_testsaction, replacing the inlinemkdir+maestro test --format junitcommands.This centralizes output directory/report handling (via
output_dir: "test_output") and enables the plugin-provided retry mechanism for flaky Maestro runs.Reviewed by Cursor Bugbot for commit c21f5cb. Bugbot is set up for automated code reviews on this repo. Configure here.