Поскольку вы не разрабатываете и не выпускаете программный пакет, семантическое управление версиями не применяется напрямую.Звучит так, как будто одного номера «релиза» может быть достаточно для вашего варианта использования, поскольку вам нужно отслеживать, когда изменение кода будет в тесте и в продуктах.Предполагая, что код должен пройти тестирование перед тем, как перейти к prod, вы будете обновлять число всякий раз, когда обновляете тестовую среду с помощью кода из ветви разработки.Таким образом, в данный момент разработка будет иметь выпуск N, тестирование будет иметь N-1 и prod N-2.
Управление версиями API - это другая проблема, независимо от нумерации версий.По моему опыту пользователи API заботятся только о критических изменениях, поэтому они должны быть версионнымиКроме того, поскольку пользователи не спешат обновлять свои приложения, вы должны быть готовы хранить старые версии бесконечно долго.