]> 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 12:26:06 +0000 (14:26 +0200)
tools/bump_version.py

index 8eda61aba61cb605c09ccfde0398d6a30f706816..2c8debb05110ab30bb6caa1361571541bae27734 100755 (executable)
@@ -57,9 +57,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._ini_regex = re.compile(
             r"""(?ix)
@@ -98,6 +98,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
@@ -259,7 +262,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)