In early 2019, the time it took to complete a pull request build on the Pandora Android app ranged from 60-70 minutes. Despite running multiple phases of the build in parallel, Pandora still faced the harsh reality that the time to execute 12000+ tests would always be the determining factor in overall build performance. To address this, Pandora enhanced an existing open-source project called Hydra – which had been developed by another internal team – and adapted it for Android. Hydra is a combination of a Gradle plugin and backend service, which works in concert with Jenkins to enable unit tests to be parallelized across a pool of machines. It also tracks historical test performance in order to more evenly distribute tests in subsequent runs.
Join this session to learn how Pandora's successful implementation of Hydra reduced test execution time by roughly 50 percent, significantly improve developer productivity.