You are right; it's because the "modern" CI/CD is ill-designed, thanks in part to being "generalized" to handle text and "generalized" tools like C compilers and makefiles... instead of, you know, working in the actual problem-space.
See this: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.26....