Традиционно системы CI осуществляют мониторинг уровней качества только в ветви интеграции, выполняя проверки QA на базе кода, где изменения уже зафиксированы, отслеживая регрессии и отправляя уведомления для вмешательства человека.
Но когда эти регрессии обнаружены, филиал уже испытывал проблемы, по крайней мере, с момента начала соответствующей проверки QA, и будет оставаться в таком состоянии (или даже ухудшаться!) До тех пор, пока не будут идентифицированы все виновные, исправлены их исправления и не произведена новая проверка QA. подтверждает, что уровень качества филиала был восстановлен. Все это время ветку можно считать заблокированной для нормального развития.
Существует ли инструмент CI, способный на самом деле предотвратить такие регрессии, который бы выполнял проверки QA перед фиксацией и разрешал коммиты только тогда, когда кодовая база, обновленная соответствующими коммитами, также проходила бы эти проверки QA до фиксации, таким образом гарантируя минимум уровень качества отрасли?
Обновление: предполагается, что подходящие автоматизированные проверки QA с соответствующим охватом, чтобы иметь возможность обнаруживать соответствующие регрессии, доступны для вызова с помощью инструмента (ов) CI.