Skip to content

Run the Swift Maestro suite directly on Bitrise - #951

Merged
markmur merged 0 commit into
bitrise-maestro-pipelinefrom
bitrise-maestro-smoke
Oct 14, 2026
Merged

markmur merged 0 commit into
bitrise-maestro-pipelinefrom
bitrise-maestro-smoke

Conversation

@markmur

@markmur markmur commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Checkout Kit currently delegates Maestro execution to BrowserStack. Add a manual e2e-maestro-swift-ios workflow that runs the full Swift Maestro suite directly on a Bitrise iOS simulator: launch, checkout presentation and dismissal, guest checkout, buyer identity checkout, and native preload reuse.

The workflow reuses the existing Swift test matrix, local E2E runner, pinned Maestro installer, and encrypted E2E storefront configuration. It retries only failed flows up to twice (three attempts total), and labels recovered tests as passed on retry. JUnit results appear in Bitrise's Tests tab; each attempt's report and Maestro diagnostics are retained in the compressed artifact.

It requires the existing EJSON_PRIVATE_KEY secret and has no automatic triggers. Local runs keep retries disabled by default.

All five flows passed on their first attempt in Bitrise build #2663, with results exported to the Tests tab.

The existing automatic BrowserStack pipeline is named e2e-browserstack in Bitrise so its execution location is explicit. It retains the required ci/bitrise/e2e/pr check until the final PR transfers that check to direct Maestro execution.

Stack

@github-actions github-actions Bot added the #gsd:50662 Rebase Checkout Kit on UCP label Oct 8, 2026
@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Bundle Size Budgets

Budget Size Limits Result
— — — ➖ No configured budgets affected

Bundle and package size

Web bundle sizes cover shipped runtime JavaScript. Package sizes cover the full published archive, including any source maps, declarations, and documentation it contains.

Platform Measurement Compression Base Head Delta
- - - - - -
How sizes are measured

Measured from the PR base SHA and PR head SHA. Web bundle rows sum shipped .js, .mjs, and .cjs files under dist/, excluding source maps and declarations. The gzip bundle size sums files compressed individually with gzip -n -9. npm package sizes are gzip-compressed .tgz archives; Android AAR sizes are ZIP archives. Package sizes are not final app binary sizes.

@markmur
markmur marked this pull request as ready for review October 8, 2026 12:35
@markmur
markmur requested a review from a team as a code owner October 8, 2026 12:35
@markmur
markmur marked this pull request as draft October 8, 2026 12:35
@bitrise

bitrise Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Bitrise builds

E2E · iOS CI

Install this build

Open Tophat, select your target device, then click Install. Links open on the Mac running Tophat.

SDK Install
React Native Install with Tophat
Swift Install with Tophat
Kotlin Install with Tophat

Checkout Kit E2E results

Status Tags Target Platform OS version tag Device
✅ launch, checkout-presentation, checkout-completion, buyer-identity react-native ios latest iPhone 15
iOS 27 Beta
❌ launch, checkout-presentation, checkout-completion, buyer-identity react-native android latest Google Pixel 9
Android 17.0
❌ launch, checkout-presentation, checkout-completion, buyer-identity, preload kotlin android latest Google Pixel 9
Android 17.0
✅ launch, checkout-presentation, checkout-completion, buyer-identity, preload swift ios latest iPhone 15
iOS 27 Beta

Failures

Caution

If you believe an assertion is flaky, please raise a ticket in the #checkout-kit-devs channel so it can be addressed.

BrowserStack artifacts require BrowserStack access. Sign in to BrowserStack App Automate before opening artifact links.

Android — react-native

Test Status Artifacts
./tests/shared/checkout-guest ❌ BrowserStack · Video · Screenshot · Maestro commands · Maestro log
./tests/shared/checkout-guest_bstackretry1 ❌ BrowserStack · Video · Screenshot · Maestro commands · Maestro log
./tests/shared/checkout-hardcoded-buyer-identity ❌ BrowserStack · Video · Screenshot · Maestro commands · Maestro log
./tests/shared/checkout-hardcoded-buyer-identity_bstackretry1 ❌ BrowserStack · Video · Screenshot · Maestro commands · Maestro log

Android — kotlin

Test Status Artifacts
./tests/shared/checkout-guest ❌ BrowserStack · Video · Screenshot · Maestro commands · Maestro log
./tests/shared/checkout-guest_bstackretry1 ❌ BrowserStack · Video · Screenshot · Maestro commands · Maestro log
./tests/shared/checkout-hardcoded-buyer-identity ❌ BrowserStack · Video · Screenshot · Maestro commands · Maestro log
./tests/shared/checkout-hardcoded-buyer-identity_bstackretry1 ❌ BrowserStack · Video · Screenshot · Maestro commands · Maestro log

@markmur markmur changed the title Prove Maestro can run directly on Bitrise Run the Swift Maestro suite directly on Bitrise Oct 8, 2026
@markmur
markmur added this pull request to stack #955 October 8, 2026 14:20
@markmur
markmur force-pushed the bitrise-maestro-smoke branch 2 times, most recently from ac0844b to a1ab419 Compare October 9, 2026 10:04
@markmur
markmur marked this pull request as ready for review October 9, 2026 10:04
@markmur markmur self-assigned this Oct 9, 2026
@markmur
markmur force-pushed the bitrise-maestro-smoke branch from a1ab419 to ac0844b Compare October 9, 2026 10:09
@github-actions

github-actions Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Coverage Report

Status Platform / target Lines Branches Functions Report
⏭️ Web — — — Not run for this change
⏭️ React Native — — — Not run for this change
⏭️ Embedded Checkout Protocol (TS) — — — Not run for this change

@markmur
markmur force-pushed the bitrise-maestro-smoke branch 2 times, most recently from f9cb983 to 80a11ec Compare October 13, 2026 15:48
@markmur
markmur removed this pull request from stack #955 October 14, 2026 10:37
@markmur
markmur force-pushed the bitrise-maestro-smoke branch from 80a11ec to 529ee08 Compare October 14, 2026 10:37
@markmur
markmur changed the base branch from main to bitrise-maestro-pipeline October 14, 2026 10:38
@markmur
markmur merged commit 529ee08 into bitrise-maestro-pipeline Oct 14, 2026
20 of 23 checks passed
@markmur
markmur force-pushed the bitrise-maestro-pipeline branch from 5a7b26b to 0190aef Compare October 14, 2026 10:38
@markmur
markmur deleted the bitrise-maestro-smoke branch October 14, 2026 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

#gsd:50662 Rebase Checkout Kit on UCP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant