А что требуется?
Дело в том, что «релиз» вообще по-разному может быть.
Кому-то хочется нажать кнопку в GitHub, и чтобы оно поехало версии обновлять, теги создавать.
Кому-то хочется вручную создать тег, запушить его в GitHub и чтобы на его основе поехал релиз.
Кому-то хочется с локальной машины запустить команду, чтобы оно выкатило staged файлики, их проверишь, и потом уже второй командой выкатываешь (я так выкатываю Apache проекты)
Кто-то «версию проекта» хранит в build.gradle, а кто-то в
gradle.properties.
Кто-то -SNAPSHOT хранит в Git, а кто-то добавляет-убирает -SNAPSHOT из версии в зависимости от аргументов запуска (ну, чтобы можно было один и тот же commit собрать как snapshot и как release).
У кого-то вообще вместо -SNAPSHOT версий -dev из semver’а (будь он проклят)
У кого-то realver (
https://twitter.com/lorenc_dan/status/1209289792569131008)