Как я считаю, за сломанную обратную совместимость программисту нужно
давать по шапке, код вымерживать и переписывать, а билд — откатывать. На
практике же постоянно находятся «причины» так не делать
Это вроде бы полезный совет, но очевидный, и сложно применимый на практике – подразумевается, что есть кто-то, дающий по шапке.
А как автоматически понять, что билд опасный? Варианты:
- Не работает: ставить галочку в PR, что миграция не деструктивная.
- Теоретически работает: добавить в CI регулярку, которая не дает выкатить релиз с опасным диффом.
- Работает, но вариант так себе: прекратить обслуживать новые запросы старой версией перед релизом.