Incremental testing: save time and money on CI for monorepo

Incremental testing: save time and money on CI for monorepo

To use monorepo or not is an eternal debate. Each has its pros and cons. Let’s say you decide to go with monorepo, one major issue you will face over time is slow testing. Imagine a monorepo, consisting of an Android app, an iOS app, some backend code, some web frontend code. On only very few occasions will someone modify more than one of those simultaneously. Further, most of these projects confined to their directories would be using different build systems as well, for example, gradle for Android, yarn/npm for Javascript, go/rust/java/npm for the backend. The total build time and test time will only grow over time. It annoys developers making small modifications to their part of the codebase. And it slows down the development velocity drastically.

Android logo

Android command-line: gradle and testing

For android projects, some engineers use Android Studio (new), some use Eclipse with ADT (old), few like me still savor command line, this blog post is about handling (building, installing and testing) android projects from command line. To create android project Sh 1 2 3 4 5 6 7 8 $ android create project \ --target 4 \ --name TestAndroidApp \ --path ./test_android_app \ --activity Main \ --package net.ashishb.TestAndroidApp \ --gradle --gradle-version 1.0.+ ... After changing to directory test_android_app (cd test_android_app), fix a bug ...