Home / Companies / Bitrise / Blog / Post Details
Content Deep Dive

Cross-workflow integration testing on iOS: a recipe for macOS + Docker pipelines

Blog post from Bitrise

Post Details
Company
Date Published
Author
Silvercast Nguyen
Word Count
651
Language
English
Hacker News Points
-
Summary

Running integration tests for iOS projects presents unique challenges because iOS apps must be built on Apple hardware, while backend servers typically operate on non-Apple systems like Linux. To address this, Bitrise developed a solution that allows integration tests to run effectively by utilizing a combination of workflows and tools within a single pipeline. The setup involves running a Linux workflow to build and operate the server in a Docker container, multiple macOS workflows to build and test the iOS app, and a gatekeeper workflow to manage the testing process. A tunnel, using services like ngrok or Cloudflare Tunnel, bridges the Linux and macOS environments, allowing the iOS app to interact with real server responses instead of relying on staging environments. This approach is particularly beneficial for monorepos, enabling integration tests to be triggered by changes in backend code without the complications of staging environment latencies and state management. However, the reliability of the tunnel depends on the performance of the free-tier services, and high-concurrency builds may require a paid plan for consistent uptime. Bitrise has provided a sample repository to help teams implement this configuration, and further details can be found in the Bitrise Pipelines documentation.