I was in the position of your team member at some point, we had a discussion and wanted to move our codebase to a monorepo, and I was arguing against this decision. I finally accepted to try it with the idea that if it didn't work we could still go back to the previous way. And 1 year later we still have the monorepo and I'm happy with it, so I got convinced by example. This is one way you can convince your teammate :).
About his concerns, there are several stages of CI and levels of testing. You can have feature branches where you push regularly small commits so t hey are easy to review, and have the ci run build jobs and unit test jobs on each commit. Then have integration tests jobs that you run manually when the feature is ready, either on the feature branch or on master branch after the feature is merged.
CI jobs shall be small and fast so they are not a pain to run and can be run repeatedly, this becomes more and more difficult when the codebase grows though. This is where nightly jobs are interesting also, run long tests on the whole codebase.
Awesome tips and advice! Thank you, this really gives me some good ideas!
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.