Ignorance is bliss...
We were doing continuous integration back in the 1990's where CVS was our source repository. Code that was released into production would automatically be checked out by our make files when system tests were run. Errors in a module would cause it to be pushed back into a development state and dropped back on the "desk" of the developer with a full report of the errors. This rarely happened if the developer had done proper unit tests. If they didn't, they would hear from me, LOUDLY! :-) Of course, sometimes a module that had significant changes would pass unit tests, but cause side-effects that would result in a system regression failure. I would not yell at them in such a case, but work with them to improve their unit tests to cover such conditions.
Some time later, we moved to ClearCase for version control, and incorporated the same methods we used with CVS. Because our make files were very modular, only a couple needed to be altered to work with ClearCase instead of CVS. This was before SVN and LONG before git.