X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/55aafbb07904ca24390dd47ea960eae7cb2b909a..c56d04266de4e97b1b861c068309476ca562d72f:/sdk/cwl/gittaggers.py diff --git a/sdk/cwl/gittaggers.py b/sdk/cwl/gittaggers.py index 3fb0fdecd8..d6a4c24a78 100644 --- a/sdk/cwl/gittaggers.py +++ b/sdk/cwl/gittaggers.py @@ -2,6 +2,9 @@ # # SPDX-License-Identifier: Apache-2.0 +from builtins import str +from builtins import next + from setuptools.command.egg_info import egg_info import subprocess import time @@ -28,6 +31,10 @@ class EggInfoFromGit(egg_info): If a build tag has already been set (e.g., "egg_info -b", building from source package), leave it alone. """ + def git_latest_tag(self): + gittags = subprocess.check_output(['git', 'tag', '-l']).split() + gittags.sort(key=lambda s: [int(u) for u in s.split(b'.')],reverse=True) + return str(next(iter(gittags)).decode('utf-8')) def git_timestamp_tag(self): gitinfo = subprocess.check_output( @@ -37,5 +44,5 @@ class EggInfoFromGit(egg_info): def tags(self): if self.tag_build is None: - self.tag_build = self.git_timestamp_tag() + self.tag_build = self.git_latest_tag() + self.git_timestamp_tag() return egg_info.tags(self)