1. Make the code compile (what!!!, I'm not allowed to commit uncompilable code to my team mates???).
2. Make the code compile, without warnings (when it does, enable 'treat warnings as errors').
3. Make the code compile, without any analysis warnings.
4. Make all unit tests pass.
5. Make all system tests pass (in the test/staging environment).
Yes, using CI is of course something any developer *always* use year 2014. Even when coding your own 'hello world'. Else your doing it wrong(tm).