Set docs version from git 58/11158/5
authorThanh Ha <thanh.ha@linuxfoundation.org>
Mon, 11 Jun 2018 02:46:03 +0000 (22:46 -0400)
committerJessica Wagantall <jwagantall@linuxfoundation.org>
Wed, 13 Jun 2018 22:36:58 +0000 (22:36 +0000)
Removes the need to modify conf.py every time we release.

Change-Id: I010c5a4eaf2f2c88156db561218919aa470eaea0
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
docs/conf.py

index d5decd5..b007a9e 100644 (file)
 # documentation root, use os.path.abspath to make it absolute, like shown here.
 #
 import os
+import subprocess
 import sys
 import sphinx_bootstrap_theme
+
 sys.path.insert(0, os.path.abspath('..'))
 
+
+def format_version(version):
+    fmt = '{tag}.dev{commitcount}+{gitsha}'
+    parts = version.split('-')
+    assert len(parts) in (3, 4)
+    dirty = len(parts) == 4
+    tag, count, sha = parts[:3]
+    if count == '0' and not dirty:
+        return tag
+    return fmt.format(tag=tag, commitcount=count, gitsha=sha.lstrip('g'))
+
+
 # -- General configuration ------------------------------------------------
 
 # If your documentation needs a minimal Sphinx version, state it here.
@@ -67,7 +81,13 @@ author = 'Linux Foundation Releng'
 # built documents.
 #
 # The short X.Y version.
-version = '0.21.0-dev'
+command = 'git describe --tags --long --dirty'
+try:
+    git_version = format_version(
+        subprocess.check_output(command.split()).decode('utf-8').strip())
+except subprocess.CalledProcessError:  # Handle docs builds from tarball
+    git_version = "v0.0.9999-local"
+version = git_version
 # The full version, including alpha/beta/rc tags.
 release = version