Verified Commit

Context

Continuous integration build should always pass and development shouldn't stop to perform build.

Description

Every commiter has a private branch to which she commits. The changes from this branch fed to verification build. While the build is in process the commiter can continue to do her work. Successfully verified changes are merged to the main source control. In case of failure the commiter need to provide a fix and the continue the with the same process of verification.

Use of distributed version control system is recommended over centralized ones as they are designed for handling frequent branching and merging of code.

Limitation

Requires additional hardware to perform verification builds.

Not suitable when the build is unstable, as it might lead to a lot of waste.

In large teams it might lead to code conflicts when merging to the main branch.