Skip to content

[E2E] Prepare native preload ready-flow validation - #631

Open
kyle-schellen wants to merge 1 commit into
ks-e2e-preload-cache-hit-signalfrom
ks-e2e-preload-ready-flow
Open

[E2E] Prepare native preload ready-flow validation#631
kyle-schellen wants to merge 1 commit into
ks-e2e-preload-cache-hit-signalfrom
ks-e2e-preload-ready-flow

Conversation

@kyle-schellen

@kyle-schellen kyle-schellen commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

What changed

  • e2e/tests/shared/native-preload-ready.yaml — top-level test, tagged preload/smoke.
  • e2e/flows/checkout/assert-native-preload-ready.yaml — the reusable subflow, including the existing enabled-button and close-animation safeguards.
  • e2e/flows/app/launch.yaml — enables preload observability for diagnostic runs so the Swift marker stays out of the normal sample accessibility tree.
  • e2e/config/matrix.yml — Swift and Kotlin adopt the preload journey. React Native is unchanged, and matrix tests ensure native overrides retain every shared default tag.
  • preload added to the journey-tag taxonomy, with matrix and tag tests.

Why

Presenting checkout is not proof that preload was reused. This asserts the whole chain:

preload-state-ready  →  cached WebView selected  →  real checkout content

Both platforms run the same flow with no platform branch, because each sample republishes its SDK's cache-hit diagnostic as the same preload-cache-hit-* identifier (#627). The flow pins both ends — preload-cache-hit-none before presentation, preload-cache-hit-observed after — so a marker stuck on "observed" cannot pass.

Testing

  • All e2e/test/*_test.rb — 261 runs, 710 assertions, 0 failures
  • Matrix expansion verified: launch,checkout,preload on the two native rows, React Native unchanged
  • dev android e2e --tags preload — passed on Android emulator
  • dev swift e2e --tags preload — passed on iOS simulator

Stack

  1. [E2E] Expose native preload state markers #626 — preload state markers in the samples
  2. [E2E] Prove ready preload cache hits on both native samples #627 — proof that the ready cache entry was reused
  3. [E2E] Prepare native preload ready-flow validation #631 — this PR: the E2E test and matrix wiring

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.

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

Copy link
Copy Markdown
Contributor Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@kyle-schellen kyle-schellen changed the title test(e2e): prepare native preload ready-flow validation [E2E] Prepare native preload ready-flow validation Aug 12, 2026
@kyle-schellen
kyle-schellen force-pushed the ks-e2e-preload-ready-flow branch from 451f16b to f51edda Compare August 14, 2026 20:36
@kyle-schellen
kyle-schellen force-pushed the ks-e2e-preload-cache-hit-signal branch from 1842281 to f0af482 Compare August 14, 2026 20:36
@kyle-schellen
kyle-schellen marked this pull request as ready for review August 14, 2026 21:46
@kyle-schellen
kyle-schellen requested a review from a team as a code owner August 14, 2026 21:46
@bitrise

bitrise Bot commented Aug 14, 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
react-native-ios react-native ios latest iPhone 15
iOS 27 Beta
react-native-android react-native android latest Google Pixel 9
Android 17.0
kotlin-android kotlin android latest Google Pixel 9
Android 17.0
swift-ios swift ios latest iPhone 15
iOS 27 Beta

@kyle-schellen
kyle-schellen marked this pull request as draft August 14, 2026 22:44
@kyle-schellen
kyle-schellen force-pushed the ks-e2e-preload-ready-flow branch from f51edda to eaa5443 Compare August 17, 2026 15:05
@kyle-schellen
kyle-schellen force-pushed the ks-e2e-preload-cache-hit-signal branch from f0af482 to b8e8758 Compare August 17, 2026 15:05
@kyle-schellen
kyle-schellen marked this pull request as ready for review August 17, 2026 15:08
@kyle-schellen kyle-schellen changed the title [E2E] Prepare native preload ready-flow validation WIP - NOT READY [E2E] Prepare native preload ready-flow validation Aug 17, 2026
@kyle-schellen
kyle-schellen marked this pull request as draft August 17, 2026 21:45
@kyle-schellen
kyle-schellen force-pushed the ks-e2e-preload-cache-hit-signal branch from b8e8758 to 7abc816 Compare August 17, 2026 23:30
@kyle-schellen
kyle-schellen force-pushed the ks-e2e-preload-ready-flow branch from eaa5443 to 9452d3f Compare August 17, 2026 23:30
@kyle-schellen
kyle-schellen marked this pull request as ready for review August 17, 2026 23:34
@kyle-schellen
kyle-schellen marked this pull request as draft August 18, 2026 00:48
@kyle-schellen
kyle-schellen force-pushed the ks-e2e-preload-cache-hit-signal branch from 7abc816 to d973bac Compare August 18, 2026 13:30
@kyle-schellen
kyle-schellen force-pushed the ks-e2e-preload-ready-flow branch from 9452d3f to 98c7605 Compare August 18, 2026 13:30
@kyle-schellen
kyle-schellen marked this pull request as ready for review August 18, 2026 15:07
@kyle-schellen
kyle-schellen marked this pull request as draft August 18, 2026 15:40
@kyle-schellen kyle-schellen changed the title WIP - NOT READY [E2E] Prepare native preload ready-flow validation [E2E] Prepare native preload ready-flow validation Aug 19, 2026
@kyle-schellen
kyle-schellen force-pushed the ks-e2e-preload-cache-hit-signal branch from d973bac to f543f5a Compare August 19, 2026 02:07
@kyle-schellen
kyle-schellen force-pushed the ks-e2e-preload-ready-flow branch from 98c7605 to 06ca46e Compare August 19, 2026 02:07
@kyle-schellen
kyle-schellen force-pushed the ks-e2e-preload-cache-hit-signal branch from f543f5a to c9eec73 Compare August 19, 2026 13:05
@kyle-schellen
kyle-schellen force-pushed the ks-e2e-preload-ready-flow branch 2 times, most recently from a84f878 to 0270fce Compare August 19, 2026 13:22
@kyle-schellen
kyle-schellen force-pushed the ks-e2e-preload-cache-hit-signal branch 2 times, most recently from a747354 to fbeab52 Compare August 19, 2026 22:29
@kyle-schellen
kyle-schellen force-pushed the ks-e2e-preload-ready-flow branch from 0270fce to 2c3ec70 Compare August 19, 2026 22:29
@kyle-schellen
kyle-schellen marked this pull request as ready for review August 19, 2026 23:09
@kyle-schellen
kyle-schellen force-pushed the ks-e2e-preload-cache-hit-signal branch from fbeab52 to d737760 Compare August 19, 2026 23:26
@kyle-schellen
kyle-schellen force-pushed the ks-e2e-preload-ready-flow branch from 2c3ec70 to b45f67c Compare August 19, 2026 23:26
@kyle-schellen kyle-schellen self-assigned this Aug 20, 2026
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