# 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.
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
+ 'reno.sphinxext',
'sphinx.ext.autodoc',
'sphinx.ext.doctest',
'sphinx.ext.intersphinx',
# General information about the project.
project = 'lf-releng-global-jjb'
-copyright = '2017, The Linux Foundation'
+copyright = '2019, The Linux Foundation'
author = 'Linux Foundation Releng'
# The version info for the project you're documenting, acts as replacement for
# built documents.
#
# The short X.Y version.
-version = '0.11.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
# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {
+ 'jjb': ('https://docs.openstack.org/infra/jenkins-job-builder/', None),
+ 'lfdocs': ('http://docs.releng.linuxfoundation.org/en/latest/', None),
'lftools': ('http://lftools.releng.linuxfoundation.org/en/latest/', None),
'python': ('https://docs.python.org/', None),
}
-