BTHLABS-0000: bump-version task

Enough with manual version bumps :D
Co-authored-by: Tomek Wójcik <labs@tomekwojcik.pl>
Co-committed-by: Tomek Wójcik <labs@tomekwojcik.pl>
This commit is contained in:
2025-09-17 18:26:06 +00:00
parent 0ab87e25a4
commit 80fbbcddf3
17 changed files with 766 additions and 22 deletions

View File

@@ -230,6 +230,9 @@ python-versions = "^3.12"
files = []
develop = true
[package.dependencies]
invoke = "2.2.0"
[package.source]
type = "directory"
url = "workspace_tools"

View File

@@ -0,0 +1 @@
from .utils import bump_version # noqa: F401

View File

@@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
from __future__ import annotations
from invoke import Context, task
@task
def bump_version(ctx: Context, next_version: str, build: str | None = None):
current_version_result = ctx.run('poetry version -s --no-ansi', hide='out')
assert current_version_result is not None, 'Hm?'
current_version = current_version_result.stdout.strip()
print(f'Bumping version: `{current_version}` -> `{next_version}`')
for file_to_version in ctx.config.get('files_to_version', []):
with open(file_to_version, 'r', encoding='utf-8') as content_f:
content = content_f.read()
content = content.replace(current_version, next_version)
with open(file_to_version, 'w', encoding='utf-8') as content_f:
content_f.write(content)

View File

@@ -8,6 +8,7 @@ readme = "README.md"
[tool.poetry.dependencies]
python = "^3.12"
invoke = "2.2.0"
[build-system]
requires = ["poetry-core"]