Skip to content

feat(e2e): select tests by Maestro tag instead of scenario flags - #556

Merged
kieran-osgood-shopify merged 1 commit into
mainfrom
kieran-osgood/e2e-maestro-tags
Aug 12, 2026
Merged

feat(e2e): select tests by Maestro tag instead of scenario flags#556
kieran-osgood-shopify merged 1 commit into
mainfrom
kieran-osgood/e2e-maestro-tags

Conversation

@kieran-osgood-shopify

@kieran-osgood-shopify kieran-osgood-shopify commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

What changes are you making?

Maestro includes a tag based system for selecting tests, so this PR leans into that to make use of tags in the matrix and the test files / commands for selection / exclusion

How to test

by default an empty tags array will run all tests, so we should see the same launch tests continue to run in CI


Before you merge

Important

  • I've added tests to support my implementation
  • I have read and agree with the Contribution Guidelines
  • I have read and agree with the Code of Conduct
  • I've updated the relevant platform README (platforms/swift/README.md and/or platforms/android/README.md)

Releasing a new Swift version?
  • I have bumped the version in ShopifyCheckoutKit.podspec
  • I have bumped the version in platforms/swift/Sources/ShopifyCheckoutKit/ShopifyCheckoutKit.swift
  • I have updated the SwiftPM/CocoaPods version snippets in platforms/swift/README.md (major version only)
Releasing a new Embedded Checkout Protocol version?
  • I have bumped embeddedCheckoutProtocolAndroid in platforms/android/gradle/libs.versions.toml
  • I have updated protocol/languages/kotlin/embedded-checkout-protocol/api/embedded-checkout-protocol.api if the public API changed
Releasing a new Android version?
  • I have bumped checkoutKitAndroid in platforms/android/gradle/libs.versions.toml
  • I have updated the Gradle/Maven version snippets in platforms/android/README.md

Tip

See the Contributing documentation for the full release process per platform.

@tiagocandido
tiagocandido force-pushed the kieran-osgood/e2e-controller branch from efa7be2 to c5d3696 Compare August 3, 2026 12:12
@tiagocandido
tiagocandido force-pushed the kieran-osgood/e2e-maestro-tags branch from 9fb7cc3 to f6b1c17 Compare August 3, 2026 12:12
@tiagocandido
tiagocandido force-pushed the kieran-osgood/e2e-controller branch from c5d3696 to fe4b7c7 Compare August 3, 2026 14:42
@tiagocandido
tiagocandido force-pushed the kieran-osgood/e2e-maestro-tags branch from f6b1c17 to 7fe2c6b Compare August 3, 2026 14:42
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-maestro-tags branch from 7fe2c6b to c92b49f Compare August 4, 2026 17:04
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-controller branch from fe4b7c7 to 5034ed1 Compare August 4, 2026 17:04
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-controller branch 2 times, most recently from bb2d777 to be0b6ac Compare August 7, 2026 11:21
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-maestro-tags branch from c8d37f7 to 8c9d852 Compare August 7, 2026 11:21
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-controller branch from be0b6ac to 5dc2272 Compare August 7, 2026 13:51
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-maestro-tags branch from 8c9d852 to 3baed39 Compare August 7, 2026 13:51
Comment thread .github/workflows/ci.yml
- 'e2e/lib/**'
- 'e2e/test/**'
- 'e2e/scripts/**'
- 'e2e/tests/**'

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these were missing from the trigger map and should trigger the e2e

@kieran-osgood-shopify
kieran-osgood-shopify marked this pull request as ready for review August 7, 2026 13:55
@kieran-osgood-shopify
kieran-osgood-shopify requested a review from a team as a code owner August 7, 2026 13:55
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

React Native — Coverage Report

Lines Statements Branches Functions
Coverage: 92%
91.64% (307/335) 88.88% (176/198) 100% (81/81)

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

Package Size

Platform Artifact Base Head Delta
React Native npm tarball 101.6 KiB 101.6 KiB 0 B
React Native file breakdown
File Base Head Delta
node_modules/@shopify/checkout-kit-protocol/src/generated/Models.ts 85.4 KiB 85.4 KiB 0 B
node_modules/@shopify/checkout-kit-protocol/src/generated/Models.d.ts 53.0 KiB 53.0 KiB 0 B
ios/AcceleratedCheckoutButtons.swift 14.1 KiB 14.1 KiB 0 B
ios/ShopifyCheckoutKit.swift 13.5 KiB 13.5 KiB 0 B
src/components/AcceleratedCheckoutButtons.tsx 13.0 KiB 13.0 KiB 0 B
android/src/main/java/com/shopify/reactnative/checkoutkit/ShopifyCheckoutKitModule.java 12.8 KiB 12.8 KiB 0 B
lib/commonjs/index.js 12.3 KiB 12.3 KiB 0 B
src/index.ts 12.2 KiB 12.2 KiB 0 B
lib/commonjs/components/AcceleratedCheckoutButtons.js 11.4 KiB 11.4 KiB 0 B
lib/commonjs/components/AcceleratedCheckoutButtons.js.map 10.4 KiB 10.4 KiB 0 B
lib/module/components/AcceleratedCheckoutButtons.js 10.2 KiB 10.2 KiB 0 B
lib/module/index.js 10.2 KiB 10.2 KiB 0 B
node_modules/@shopify/checkout-kit-protocol/src/generated/ProtocolNotifications.ts 9.5 KiB 9.5 KiB 0 B
src/index.d.ts 9.1 KiB 9.1 KiB 0 B
lib/module/components/AcceleratedCheckoutButtons.js.map 9.1 KiB 9.1 KiB 0 B
src/present-dispatcher.ts 8.0 KiB 8.0 KiB 0 B
lib/module/index.js.map 7.9 KiB 7.9 KiB 0 B
lib/commonjs/index.js.map 7.7 KiB 7.7 KiB 0 B
node_modules/@shopify/checkout-kit-protocol/src/generated/ProtocolNotifications.d.ts 7.6 KiB 7.6 KiB 0 B
node_modules/@shopify/checkout-kit-protocol/src/generated/ProtocolRenameMap.ts 7.2 KiB 7.2 KiB 0 B
…and 110 smaller files

Measured from the PR base SHA and PR head SHA. The file breakdown shows uncompressed sizes within each package artifact, so individual files do not sum to the compressed artifact total. This comment reports package artifact sizes only; it is not a final app binary-size report.

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

Web — Coverage Report

Lines Statements Branches Functions
Coverage: 96%
94.62% (299/316) 81.72% (152/186) 98.71% (77/78)

@bitrise

bitrise Bot commented Aug 7, 2026

Copy link
Copy Markdown

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 Suite Target Platform OS version tag Device
tests/shared/launch-smoke.yaml react-native ios latest iPhone 15
iOS 27 Beta
tests/shared/launch-smoke.yaml react-native android latest Google Pixel 9
Android 17.0
tests/shared/launch-smoke.yaml kotlin android latest Google Pixel 9
Android 17.0
tests/shared/launch-smoke.yaml swift ios latest iPhone 15
iOS 27 Beta

@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-controller branch from 5dc2272 to 467121c Compare August 10, 2026 09:08
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-maestro-tags branch from 3baed39 to 262631b Compare August 10, 2026 09:08
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-controller branch 2 times, most recently from 6609003 to d76cfa1 Compare August 12, 2026 10:23
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-maestro-tags branch 2 times, most recently from 4b74857 to 9ad8299 Compare August 12, 2026 11:12
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-controller branch from d76cfa1 to 7022342 Compare August 12, 2026 11:12
@kieran-osgood-shopify
kieran-osgood-shopify changed the base branch from kieran-osgood/e2e-controller to graphite-base/556 August 12, 2026 12:32
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-maestro-tags branch from 9ad8299 to f79b83b Compare August 12, 2026 12:32
@graphite-app
graphite-app Bot changed the base branch from graphite-base/556 to main August 12, 2026 12:32
The two scenario flags only picked a file, and each test already carries its
scenario in its own env block. Tags scale to the tests Phase 6 adds without a
new flag per test.

Every test now declares tags from one taxonomy: one journey (launch, cart,
checkout, account), one cost tier (smoke, full), plus optional quarantine
(flaky, wip) and platform capability (ios-only, android-only) tags.
maestro_test_tags_test.rb enforces all of it, and a platform tag must name the
capability that earns it, so nobody tags an unported test.

config.yaml excludes flaky and wip, so a quarantined test stays in the tree and
out of every run.

`dev rn e2e {ios|android}` now runs the whole tests folder and takes
--tags/--exclude-tags. Both match any listed tag, because that is how Maestro
filters. The runner also supplies E2E_APP_ID and E2E_READY_MARKER so the shared
launch smoke runs locally; a later commit unifies those names.

ci.yml gates flow edits on the ruby job, so editing a test reaches the
validator.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-maestro-tags branch from f79b83b to 522faec Compare August 12, 2026 12:32
@kieran-osgood-shopify
kieran-osgood-shopify merged commit 94f68b5 into main Aug 12, 2026
37 checks passed
@kieran-osgood-shopify
kieran-osgood-shopify deleted the kieran-osgood/e2e-maestro-tags branch August 12, 2026 13:49
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.

3 participants