From d506c0c47b3bee53d89fcbb9d3b933d4b3aee39a Mon Sep 17 00:00:00 2001 From: Fernando Monserrat Date: Mon, 26 Mar 2018 10:44:11 -0300 Subject: [PATCH] 13200: format gitinfo on all the services Arvados-DCO-1.1-Signed-off-by: Fernando Monserrat --- sdk/cwl/arvados_version.py | 20 ++++++++++++++++++++ sdk/cwl/gittaggers.py | 2 +- sdk/cwl/setup.py | 6 +++--- sdk/python/gittaggers.py | 2 +- 4 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 sdk/cwl/arvados_version.py diff --git a/sdk/cwl/arvados_version.py b/sdk/cwl/arvados_version.py new file mode 100644 index 0000000000..db46417ea6 --- /dev/null +++ b/sdk/cwl/arvados_version.py @@ -0,0 +1,20 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 + +import subprocess +import time + +class VersionInfoFromGit(): + """Return arvados version from git + """ + def git_latest_tag(self): + gitinfo = subprocess.check_output( + ['git', 'describe', '--abbrev=0']).strip() + return str(gitinfo.decode('utf-8')) + + def git_timestamp_tag(self): + gitinfo = subprocess.check_output( + ['git', 'log', '--first-parent', '--max-count=1', + '--format=format:%ct', '.']).strip() + return str(time.strftime('.%Y%m%d%H%M%S', time.gmtime(int(gitinfo)))) diff --git a/sdk/cwl/gittaggers.py b/sdk/cwl/gittaggers.py index 40f6e6ce89..8ccb6645de 100644 --- a/sdk/cwl/gittaggers.py +++ b/sdk/cwl/gittaggers.py @@ -31,7 +31,7 @@ class EggInfoFromGit(egg_info): def git_latest_tag(self): gitinfo = subprocess.check_output( ['git', 'describe', '--abbrev=0']).strip() - return str(gitinfo) + return str(gitinfo.decode('utf-8')) def git_timestamp_tag(self): gitinfo = subprocess.check_output( diff --git a/sdk/cwl/setup.py b/sdk/cwl/setup.py index 0e9ee945fb..d1df898cd2 100644 --- a/sdk/cwl/setup.py +++ b/sdk/cwl/setup.py @@ -16,10 +16,10 @@ README = os.path.join(SETUP_DIR, 'README.rst') tagger = egg_info_cmd.egg_info version = os.environ.get("ARVADOS_BUILDING_VERSION") if not version: - version = "1.0" try: - import gittaggers - tagger = gittaggers.EggInfoFromGit + import arvados_version + vtag = arvados_version.VersionInfoFromGit() + version = vtag.git_latest_tag() + vtag.git_timestamp_tag() except ImportError: pass diff --git a/sdk/python/gittaggers.py b/sdk/python/gittaggers.py index 4e848eda36..ccf25c422e 100644 --- a/sdk/python/gittaggers.py +++ b/sdk/python/gittaggers.py @@ -15,7 +15,7 @@ class EggInfoFromGit(egg_info): def git_latest_tag(self): gitinfo = subprocess.check_output( ['git', 'describe', '--abbrev=0']).strip() - return str(gitinfo) + return str(gitinfo.decode('utf-8')) def git_timestamp_tag(self): gitinfo = subprocess.check_output( -- 2.30.2