Magnetis builds iOS apps 2x faster with Semaphore

  • ⛔️️ 40min build time
  • ⛔️ Multiple systems to maintain
  • ⛔️ Linear workflow
  • ✅ 20min build time ⬇️ 2x
  • ✅ Projects running in one platform
  • ✅ Parallel workflow

Try out Semaphore

The Challenge

The team needed to reduce the turnaround-time of their iOS builds. Their existing pipelines, implemented in BitRise, took a long time. All lint, unit and end-to-end tests added up to 40 minutes. “This was slowing the team’s productivity,” explained Philip, Senior Software Engineer and Team Lead at the company.

The team had already used Semaphore for other projects, so they predicted that Semaphore’s parallel execution features would improve the test-suite speed. “We also wanted to keep our projects running in one platform for simplicity,” added Philip.

Overall, Magnetis needed their new CI/CD solution to

  • ✔️ Significantly reduce build times
  • ✔️ Build for iOS and Android simultaneously
  • ✔️ Decrease costs
  • ✔️ Handle all their projects in one platform
  • ✔️ Easily exploit parallelism in the testing phase of the build

The Solution

Magnetis engineers develop their React Native application on feature branches. The branches are merged into master as they are reviewed and approved. Semaphore runs multiple macOS agents for each pull-request to execute – in parallel – linters, unit tests, and e2e tests in iOS and Android simulators.

The documentation was a big help in configuring Semaphore. According to Philip, it’s “very detailed and covers all the features”. The team at Magnetis used Semaphore’s cache system and “fail fast” features to improve their build time. Now, the engineers can get from pull-request to completed build much faster, and they are looking for more improvements.

Magnetis’ parallel workflow in Semaphore

The Results

“Semaphore is a great product and its focus on performance brings more productivity to our workflow,” says Philip, who now sees pipelines complete in only 20 minutes – a 50% decrease in turnaround-time over their previous, BitRise-based solution.

Industry

Financial services

51-100 employees

Engineering team

33 people

Stack

React Native

iOS

Android

Star us on GitHub