From 2dbb6e8c18657ec60e53cb2ceba8857ab43d3169 Mon Sep 17 00:00:00 2001 From: Sergei Trofimov Date: Wed, 9 May 2018 15:29:52 +0100 Subject: fw/version: add get_wa_version_with_commit Add a function to return WA version suffixed with the commit hash for current HEAD. This only works if WA was deployed via python setup.py develop otherwise, the output is identical to get_wa_version(). --- wa/framework/version.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'wa/framework') diff --git a/wa/framework/version.py b/wa/framework/version.py index 66543332..1ccbf3ba 100644 --- a/wa/framework/version.py +++ b/wa/framework/version.py @@ -13,7 +13,9 @@ # limitations under the License. # +import os from collections import namedtuple +from subprocess import Popen, PIPE VersionTuple = namedtuple('Version', ['major', 'minor', 'revision']) @@ -25,3 +27,22 @@ def get_wa_version(): version_string = '{}.{}.{}'.format( version.major, version.minor, version.revision) return version_string + + +def get_wa_version_with_commit(): + version_string = get_wa_version() + commit = get_commit() + if commit: + return '{}-{}'.format(version_string, commit) + else: + return version_string + + +def get_commit(): + p = Popen(['git', 'rev-parse', 'HEAD'], + cwd=os.path.dirname(__file__), stdout=PIPE) + std, _ = p.communicate() + p.wait() + if p.returncode: + return None + return std[:8] -- cgit v1.2.3