Clean the environment. All private builds must start from a clean environment and should not use any external assets from previous builds or any other source. This helps identify and prevent issues potentially caused by environmental discrepancies.
Compile your entire solution/project all at once. The entire solution must build correctly. One issue, even a simple
missing file in one component, should fail the entire solution until it is resolved and before a commit.
Provide all dependencies necessary for running unit and integration tests. This is very important. It is what enables the actual continuous integration and deployment pipeline to run the tests during the appropriate environments.
Runs all automated unit tests. They should be very fast and use no external resources. These tests should confirm that every function continues to perform as expected.
Run component-level integration tests. These tests should confirm that the interaction and interfaces between the components continue to operate as expected. The industry standard is 10 minutes or less.