Build time is a collective responsibility
yoyo-code.com
yoyo-code.com
When these limits are reached, the CI stops working, and we have to remove the bloat: https://github.com/ClickHouse/ClickHouse/issues/61121
Although these limits are too generous as of today: for example, the maximum CPU time to compile a translation unit is set to 1000 seconds, and the memory limit is 5 GB, which is ridiculously high.
You see companies go through periodic efforts to improve their build. The time slipped past the intolerable point, they brought it back to tolerable, and the cycle repeats.
The author's real issue is that their tolerance of a slow build is lower than their peers. Sort of like someone that has stricter expectations of cleanliness than their roommates.
Build time, like other sorts of feedback loops is critical for team level success. This means the team should measure and review build time, and invest in it when needed. CI/CD doesn't magically fix itself.
If you are pushing your code elsewhere and then waiting on CI to test single line changes that you make during development, you're doing it wrong, and the problem with that would be an obsession with CI/CD running all tests instead of allowing for developers to build and run tests locally.
[1]: https://news.ycombinator.com/item?id=39844932 [2]: https://github.com/efrecon/gh-runner-krunvm
Lakos, John (1996). Large-Scale C++ Software Design. Addison-Wesley.