We are thinking of doing Continuous Integration with nightly builds here. Some of our sticking points is when to do code reviews. Is anyone out there doing Continuous Integration with nightly builds AND doing code reviews? If you can give a brief outline of your process that would be great. For example, here's what we are doing now:
Developers attempt to check in code daily or as often as possible. Code does not have to be "done", it merely has to compile. They rebase their code with everyone else's changes at this time. Doing this often prevents us from merging nightmares.
Builds come out nightly, but QA only looks at the builds but doesn't write up bugs yet, they merely inform us of what they are seeing.
Every few days, we have an official release. Code is Reviewed. We write up a description of what is ready for testing, what isn't.
QA writes up what they find in the stuff we say is ready for test. The process starts over.
So, what are we doing wrong? One thing I don't like, is that code is checked in that isn't reviewed. I heard before, that code should only be checked in that's been reviewed, however, I'm not sure how to do that and still have programmers check-in code daily. If you can give examples of what your process is, I'd really appreciate it?