Skip to content

fix: allow tophat to recover/force a rebuild after a 404 - #608

Open
kieran-osgood-shopify wants to merge 1 commit into
mainfrom
tophat-failing
Open

fix: allow tophat to recover/force a rebuild after a 404#608
kieran-osgood-shopify wants to merge 1 commit into
mainfrom
tophat-failing

Conversation

@kieran-osgood-shopify

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

Copy link
Copy Markdown
Contributor

What changes are you making?

I was attempting to test a PR and noticed that the download link wasn't working, whilst these run on bitrise it was around the time of the github outage, and resolved outside of that time period

I decided to add a few more options to tophat to make it function in these cases

  • Improve the error messaging that comes out, in the case above I converted 404 => "This usually means the artifact expired or no longer matches. Run\n dev tophat --force-rebuild to trigger a fresh build and retry."
  • Add --verbose flag to get some extra log output when things go wrong
  • Add --force-rebuild flag to trigger another build if the artifact is available but doesn't actually install for some reason (e.g. corrupt download), running with this flag will wait for the build to finish then launch the next fzf question or launch the app

How to test

Can't really test the 404 part until it hits again, but the --force-rebuild flag is testable, find a PR that has a bitrise build already, and run the following, then watch the bitrise portal for another trigger to appear, once that build finishes you should see the prompt has stopped waiting and pushed you to either the simulator or asked you to fill in the device you wish to test on

dev tophat <pr-number> --force-rebuild

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 7, 2026
@kieran-osgood-shopify
kieran-osgood-shopify marked this pull request as ready for review August 10, 2026 12:23
@kieran-osgood-shopify
kieran-osgood-shopify requested a review from a team as a code owner August 10, 2026 12:23
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