Tool: increment-version #2

Closed
ueblerd wants to merge 3 commits from increment-version into master
2 changed files with 44 additions and 0 deletions
Showing only changes of commit 323869869d - Show all commits

View File

@@ -14,3 +14,4 @@ dependencies = [
[project.scripts] [project.scripts]
gitea-release-action = "main:main_cli" gitea-release-action = "main:main_cli"
increment-version = "increment_version:main_cli"

43
src/increment_version.py Executable file
View File

@@ -0,0 +1,43 @@
#!/usr/bin/env python3
from argparse import ArgumentParser
import yaml
from release import versioning
from release.project import parse_project_description
def main_cli():
parser = ArgumentParser()
parser.add_argument(
'--release-yaml-filename', default='.gitea/release.yaml')
bump_group = parser.add_mutually_exclusive_group()
bump_group.add_argument('--major', action='store_true')
bump_group.add_argument('--minor', action='store_true') # the default
bump_group.add_argument('--patch', action='store_true')
Review

Dumme Frage: Warum kann man das nicht einfach direkt über ein vsh-Plugin abbilden?

Dumme Frage: Warum kann man das nicht einfach direkt über ein vsh-Plugin abbilden?
Review

Weil man dann einen Kontext braucht oder? also vsh live ... oder vsh testing ...
Gut ich könnte das schon als Plugin für nen Shell-Kontext machen aber dann müsste man das ja in jedem Projekt konfigurieren...

Oder fändest du das schöner?

Weil man dann einen Kontext braucht oder? also `vsh live ...` oder `vsh testing ...` Gut ich könnte das schon als Plugin für nen Shell-Kontext machen aber dann müsste man das ja in jedem Projekt konfigurieren... Oder fändest du das schöner?
args = parser.parse_args()
with open(args.release_yaml_filename, 'r') as f:
project_description = parse_project_description(
yaml.safe_load(f))
version = versioning.use_any(project_description.version_descriptor)
if args.major:
version.version = version.version.bump_major()
elif args.minor:
version.version = version.version.bump_minor()
elif args.patch:
version.version = version.version.bump_patch()
else:
version.version = version.version.bump_minor()
print(f'incremented version: {version.version}')
version.store()
if __name__ == '__main__':
main_cli()