]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
fix(bump_version): handle tagging without bumping version
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Fri, 22 Sep 2023 23:07:03 +0000 (01:07 +0200)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Sat, 23 Sep 2023 02:02:47 +0000 (04:02 +0200)
tools/bump_version.py

index 53810db018612f7eae4a5fc4bafd8d49698f66aa..61370edd9b4f212d1358726af5bc22f1dd29e935 100755 (executable)
@@ -54,9 +54,9 @@ Package(
 
 
 class Bumper:
-    def __init__(self, package: Package, *, bump_level: str | BumpLevel):
+    def __init__(self, package: Package, *, bump_level: str | BumpLevel | None):
         self.package = package
-        self.bump_level = BumpLevel(bump_level)
+        self.bump_level = BumpLevel(bump_level) if bump_level else None
 
         self._version_regex = re.compile(
             r"""(?ix)
@@ -86,6 +86,9 @@ class Bumper:
         current = self.current_version
         parts = [current.major, current.minor, current.micro, current.dev or 0]
 
+        if not self.bump_level:
+            return self.current_version
+
         match self.bump_level:
             case BumpLevel.MAJOR:
                 # 1.2.3 -> 2.0.0
@@ -238,7 +241,11 @@ chore: bump {self.package.name} package version to {self.want_version}
 def main() -> int | None:
     opt = parse_cmdline()
     logger.setLevel(opt.loglevel)
-    bumper = Bumper(packages[opt.package], bump_level=opt.level)
+    if opt.actions is None or Action.UPDATE in opt.actions:
+        bump_level = opt.level
+    else:
+        bump_level = None
+    bumper = Bumper(packages[opt.package], bump_level=bump_level)
     logger.info("current version: %s", bumper.current_version)
     logger.info("bumping to version: %s", bumper.want_version)