63% improvement on Bitrise build time for iOS

Kelvin Tan
Swiftly Engineered iOS
4 min readMar 13, 2023

--

Automation has always been the preferred method as it has proven to increase productivity and getting things done. But what if the automation itself consume too much of our time, does it still consider as productivity increase or decrease?

One of the struggles that we face in Mobile Engineering is the long build time on Bitrise for iOS. It often becomes a burden rather than a blessing in terms of development. Upon diving deep into the problem, we notice a huge amount of time taken in Unit Test which is about 36 minutes and it varies from time to time.

We have a high standard for ourselves where our app has a minimum requirement of 95% for Unit Test or the build will be deemed rejected in our pull request. So there is no way we would sacrifice Unit Test for a faster build time.

We proactively learn from the best and keep things simple. Having embody the value within ourselves, we take one step further by challenging ourselves to solve this long build time issue on Bitrise for iOS.

As a background of the project, we use RxSwift with the MVVM-C architecture. In the nutshell, this is how the project looks like where all the files are stored.

--

--

Kelvin Tan
Swiftly Engineered iOS

Father, husband, software engineer. Building software and building a family, one line of code and one moment at a time. 🚀💻💙 http://ko-fi.com/kelvintanzy