Skip to content

Select local E2E tests from the matrix - #705

Open
kieran-osgood-shopify wants to merge 2 commits into
mainfrom
e2e-local-matrix-selection
Open

Select local E2E tests from the matrix#705
kieran-osgood-shopify wants to merge 2 commits into
mainfrom
e2e-local-matrix-selection

Conversation

@kieran-osgood-shopify

@kieran-osgood-shopify kieran-osgood-shopify commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

TLDR

Updating local e2e test commands to use e2e/config/matrix.yml as the source of truth for tests to run, ensuring they match what CI would run.

What changes are you making?

Local E2E commands now:

  • dev <platform> e2e with no tags/file names will run every matrix-enabled
  • dev <platform> e2e --tags <tag>
  • dev <platform> e2e <filename>

Key Points

  • Restrict tags and files to coverage enabled for the selected application.
  • Form a union when tags and positional files are combined e.g. dev <platform> e2e --tags smoke checkout-guest to run smoke and guest flows

How to test

Green test

Theres two main things to test, you can select any of the tests listed for an application in the matrix.yml

For example there are 4 applications, swift-ios / kotlin-android / react-native-android and react-native-ios

Each of these should have the shared tags such as smoke and launch
So you should be able to test that they do run if you pass that

dev swift e2e --tags smoke
dev swift e2e launch-smoke

Red Tests

However passing a tag that isn't supported, such as preload to react-native-* tests should fail

Providing an unknown filename should list the known test files:
image

@github-actions github-actions Bot added the #gsd:50662 Rebase Checkout Kit on UCP label Aug 28, 2026
Comment thread e2e/scripts/run_local_e2e
done

if [ "${#matches[@]}" -eq 0 ]; then
echo "Unknown E2E test file: $requested" >&2

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.

it'd be nice if we printed the known test file names

Comment thread e2e/scripts/run_local_e2e Outdated
MATRIX_INCLUDE_TAGS="$(printf '%s' "$application" | jq -r '.include_tags | join(",")')"
MATRIX_EXCLUDE_TAGS="$(printf '%s' "$application" | jq -r '.exclude_tags | join(",")')"

if [ "$HAS_EXPLICIT_TAGS" = true ]; then

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.

how is smoke supposed to work here?

  ❯ dev react-native e2e ios --tags smoke
🔧  Running ./e2e/scripts/run_local_e2e react-native-ios "$@" from dev.yml
smoke is not enabled for react-native-ios
Enabled tags: launch,checkout

@kieran-osgood-shopify
kieran-osgood-shopify marked this pull request as ready for review August 28, 2026 14:30
@kieran-osgood-shopify
kieran-osgood-shopify requested a review from a team as a code owner August 28, 2026 14:30
@bitrise

bitrise Bot commented Aug 28, 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

Assisted-By: devx/5f10c07c-0803-4f05-bc88-265174164e5a
Assisted-By: devx/5f10c07c-0803-4f05-bc88-265174164e5a
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