Skip to content

[E2E][Bug] 'required' status check not running file filters - #758

Open
kieran-osgood-shopify wants to merge 1 commit into
mainfrom
e2e-required
Open

kieran-osgood-shopify wants to merge 1 commit into
mainfrom
e2e-required

Conversation

@kieran-osgood-shopify

@kieran-osgood-shopify kieran-osgood-shopify commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Fix

Coarse filter for e2e test startup is removed
Result: Every non-draft PR will trigger the e2e pipeline
The fine grained filter remains untouched and will continue to ensure we only run the tests we need. e.g. a readme change will finish in around ~20 seconds reporting success

For example, this is what I expected #754 to do instead of reporting a hang
image

Why

I was adding CodeQL workflow in #754 and noticed the bitrise e2e pipeline didn't report because it didn't match the coarse file filter

This meant that PR's were blocked/hung because the status check never reported any result

File filtering was done at two levels:

  • coarse filter that skips the entire pipeline, runs via regex and costs zero build minutes
 changed_files:
            # Bitrise evaluates this with Go's RE2 engine. Use only basic syntax
            # (anchors, groups, alternation, character classes, quantifiers). Do not
            # add lookahead (?=…), lookbehind, backreferences (\1), or atomic/possessive
            # groups — RE2 cannot compile them and the trigger will fail to evaluate.
            regex: '^(platforms/(swift|android|react-native)|protocol|e2e|\.ci)/.*|^Package\.(swift|resolved)$'
  • fine grained filter that happens at runtime and matches the github actions precise job starting flows

Unfortunately this is incompatible with how Github handles required status checks
If the status check doesn't report success or failure, it is hung, this meant PR's were unable to merge

Testing

You can see its working based on #754 running the checks


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.

@kieran-osgood-shopify
kieran-osgood-shopify requested a review from a team as a code owner September 10, 2026 10:27
@kieran-osgood-shopify
kieran-osgood-shopify added this pull request to stack #759 September 10, 2026 10:27
@github-actions github-actions Bot added the #gsd:50662 Rebase Checkout Kit on UCP label Sep 10, 2026
@bitrise

bitrise Bot commented Sep 10, 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 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

@kieran-osgood-shopify
kieran-osgood-shopify removed this pull request from stack #759 September 10, 2026 17:01
@kieran-osgood-shopify
kieran-osgood-shopify added this pull request to stack #762 September 10, 2026 17:02
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the e2e-required branch 3 times, most recently from 55a5a41 to 0fb46c1 Compare September 11, 2026 14:41
@kieran-osgood-shopify

Copy link
Copy Markdown
Contributor Author

The order-confirmation selector hardening from an earlier head has been removed from this stack. BrowserStack command logs showed a separate Maestro flake: the broad completion regex returned 250 ms after Pay now, then the test closed checkout before the SDK received completion. That focused journey change now lives independently in #764, based directly on main. Current PR #758 head 0fb46c16a contains only the required-gate work and passed the full E2E pipeline: https://app.bitrise.io/app/f51f9054-053e-40f1-81e9-ae727567ae76/pipelines/4b67c443-8c6a-4ef0-a0fd-cd031e31d270

@kieran-osgood-shopify kieran-osgood-shopify changed the title ci(e2e): always report the required Bitrise gate [e2e] Fix 'required' status check not running file filters Sep 14, 2026
@kieran-osgood-shopify kieran-osgood-shopify changed the title [e2e] Fix 'required' status check not running file filters [E2E][Bug] 'required' status check not running file filters Sep 14, 2026
Assisted-By: devx/bfa7df54-2e93-42ac-9fa0-2277f848f09f
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