Open gusenov opened 5 years ago
bumpversion - небольшая консольная утилита, позволяющая автоматически обновлять строки версий в коде. Поддерживает git/mercurial: умеет автоматически создавать bump version commit'ы и автоматически вешать на них теги с версиями.
Пример конфига:
[bumpversion]
current_version = 0.1.0
commit = True
tag = True
tag_name = {new_version}
message = Bumped version: {current_version} → {new_version}
[bumpversion:file:flamorphy/__init__.py]
search = __version__ = '{current_version}'
replace = __version__ = '{new_version}'
Использование:
bumpversion minor
bumpversion patch
bumpversion major
По умолчанию bumpversion создаёт коммит. Когда это не надо, можно заюзать --no-commit
. Еще по дефолту bumpversion ругается, когда его запускают без предварительного коммита. Любовь к чистоте можно откорректировать при помощи --allow-dirty
:
bumpversion patch --no-commit --allow-dirty
Если нужны теги, то нужно не забыть:
git push --tags
Версия должна куда-нибудь сама записываться, а разработчик должен вызывать только скрипт publish.sh с заданным репозиторием.
Автоматизировать процесс публикации:
Чтобы определить версию надо делать запросы на:
Если публикация прошла, то там будет новая версия.