<TargetFramework>net5.0</TargetFramework>
Стоит ли запрашивать ревью у разрабов из других команд когда происходит ревью в промежуточную ветку или же оставить этот ад как есть?
Это само по себе не заслуживает уважения и нормальный ответ?
то поток выполнения уходит в блокирующий режим на моменте io_context.run();
Обращался к официальной документации boost, но не смог найти там решение этой проблемы.
Пытался также добавлять deadline-timers - но это оказалось бесполезным.
В этом как раз и проблема - мы видим не изначальную задачу, а вашу попытку решить её.
Например, не очень хорошая идея привязывать окружения для развёртывания к конкретному бранчу. Так оправдано делать разве что для кода инфраструктуры (terraform и к нему приравненные), и то не всегда удобно.
Вероятно, mureevms говорит о том же. Вы должны иметь возможность разворачивать различные ветки в различные окружения, с некоторыми ограничениями вроде "в прод только из мастера". Например, почему бы вам не развернуть мастер в тестовое окружение?
Приведу пример. Операция слияния веток - вещь небезопасная по своей природе. Даже если по мнению Гита конфликтов у вас нет, чисто на уровне текста исходников, это не значит что результат слияния - работающий код. Он может не скомпилироваться или тесты могут не пройти (а если тестов нет - вы об этом не сразу узнаете). После слияния полученное состояние репозитория необходимо прокатать в CI и потестить в тестовом окружении.
После того, как вы мёржите в мастер, вам нужно протестить именно этот мёрж, но вы не сможете этого сделать, т.к. ветка у вас привязана к окружению.