Какие вараинты я расмотрел
https://github.com/mrooding/gitlab-semantic-versioning
- относительно простой скрипт на питоне. Преимущества - может просто работать на ранненере, при наличии питона, либо - в Docker'е
https://semantic-release.gitbook.io/semantic-release/
https://threedots.tech/post/automatic-semantic-versioning-in-gitlab-ci/
- вот какое-то тоже решение на питончике