From d8d36a4fb0814a90b3c14e1f5302205483ca9355 Mon Sep 17 00:00:00 2001 From: sommersoft Date: Tue, 4 Aug 2020 20:55:20 -0500 Subject: [PATCH] conf.py: set the version for sphinx, based on the current git tag --- conf.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/conf.py b/conf.py index 37e611dbb8..9b2efa8afe 100644 --- a/conf.py +++ b/conf.py @@ -20,6 +20,7 @@ import json import logging import os +import re import subprocess import sys import urllib.parse @@ -106,7 +107,25 @@ copyright = '2014-2020, MicroPython & CircuitPython contributors (https://github # # We don't follow "The short X.Y version" vs "The full version, including alpha/beta/rc tags" # breakdown, so use the same version identifier for both to avoid confusion. -version = release = '0.0.0' + +final_version = "" +git_describe = subprocess.run( + ["git", "describe", "--dirty", "--tags"], + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + encoding="utf-8" +) +if git_describe.returncode == 0: + git_version = re.search( + r"^\d(?:\.\d){0,2}(?:\-(?:alpha|beta)\.\d+){0,1}", + str(git_describe.stdout) + ) + if git_version: + final_version = git_version[0] +else: + print("Failed to retrieve git version:", git_describe.stdout) + +version = release = final_version # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages.