Mobile Tophatting at Shopify - Shopify

This post details the creation of a frictionless tophatting process for mobile developers at Shopify. It describes how to skip the compilation step by exporting application binaries from CI builds and making them available via the CI API. The process is integrated with GitHub commit statuses and uses an internal CLI tool called 'dev' to select and install the correct app binary onto simulators (iOS) or emulators (Android). The tool handles authentication with Buildkite and GitHub APIs, retrieves build URLs, filters valid artifacts, and launches the selected simulator/emulator before installing and launching the app. Future improvements include caching artifacts, supporting real devices, and simplifying input for tophatting from commits and branches.