X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/120a2268606d73317ab2353d79c3046017300f81..c56d04266de4e97b1b861c068309476ca562d72f:/sdk/cwl/gittaggers.py diff --git a/sdk/cwl/gittaggers.py b/sdk/cwl/gittaggers.py index 2a292ee061..d6a4c24a78 100644 --- a/sdk/cwl/gittaggers.py +++ b/sdk/cwl/gittaggers.py @@ -1,3 +1,10 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# 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 @@ -24,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( @@ -33,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)