Copied


GitHub Cuts iOS App Testing Time by 60% with New Runner Features

Terrill Dicki   Jun 04, 2024 05:43 2 Min Read


GitHub has unveiled a major enhancement in its continuous integration and continuous delivery (CI/CD) pipeline by significantly reducing the testing time for iOS applications through the use of Apple Silicon runners, according to The GitHub Blog.

GitHub Actions and Apple Silicon Integration

In a collaborative effort, the GitHub iOS and GitHub Actions teams have integrated macOS runners powered by Apple Silicon into their workflows. This integration has allowed the teams to test new runner images and hardware long before their release to the developer community. The introduction of M1 macOS runners, available for free in public repositories, has been a game-changer for performance-intensive jobs.

Improved Testing Efficiency

Previously, the GitHub iOS team relied on a single workflow to build and test the entire codebase, a process that took 38 minutes to complete. The team decided to leverage the computational power of Apple Silicon to expedite this process. By switching to M1 macOS runners and breaking down the test suite into separate jobs for each module, the team managed to reduce their testing time by 60%, from 38 minutes to just 15 minutes.

This modular approach allows for faster feedback and easier identification and resolution of issues within specific modules. Some of the smaller modules completed their tests in as little as 2-3 minutes, significantly enhancing developer productivity.

Breaking Down the Monolith

The transition to Apple Silicon runners involved splitting the monolithic build and test process into smaller, independent jobs. This granular approach enabled faster feedback loops and quicker identification of issues, thus improving the overall efficiency of the development process.

Each build request is handled by GitHub Actions, which prepares the necessary virtual machines to execute the workflow. This streamlined process ensures that CI jobs are distributed efficiently across the available resources.

Analyzing CI Performance

Further optimizations were made by dividing each module's CI process into separate build and test steps, using xcodebuild’s build-without-testing and test-without-building features. This allowed the team to pinpoint long-running tests and optimize them for better performance.

Benefits of Apple Silicon

Apple Silicon offers numerous advantages, including improved build performance, increased reliability, and native testing for all Apple platforms. By avoiding cross-compilation or emulation issues, the GitHub iOS team can ensure compatibility with the latest versions of iOS, iPadOS, watchOS, and tvOS. The availability of concurrent runners further enhances the team's ability to perform parallel testing.

Get Started with macOS Runners

GitHub-hosted macOS runners are easily accessible through a YAML-driven configuration in the workflow file. This integration allows development teams to leverage the power of Apple Silicon and streamline their CI/CD processes.

With these enhancements, GitHub continues to push the boundaries of developer productivity and efficiency, making it easier for teams to deliver high-quality applications faster than ever before.


Read More