Development teams often suffer from crashes in version control. All team productivity can stop trying to recover from an assembly broken by one person.
Is there any software that allows you to host Git in such a way as to prevent build disruption in version control without accepting commits that do not pass tests in the first place? For example, a use case might look like this:
- The software runs on a server that constantly pulls revisions from the Git repositories that the developers published.
- For each verified revision, the software creates an audit and tests if it passes unit tests.
- If it passes the tests, the audit merges into a “stable” branch.
- If it does not pass the tests, it is rejected, and the audit is not merged into a “stable” branch. The developer is forced to fix the revision and resubmit it.
- Developers, by default, extract from a “stable” branch, which should never be broken - in the sense that the tests do not fail - and are more productive, since they spend less time blocking broken assemblies. And the usefulness of such a system grows with the size of the team.
A few notes:
- Git pre-commit hooks and the like in this case are not satisfactory. The solution must be automatic and forced on the server side for each commit.
- We are looking for a solution that has been implemented and thought out as much as possible, instead of writing such a system from scratch.
git version-control unit-testing build-automation
Valko sipuli
source share