summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore7
-rw-r--r--conf.py21
2 files changed, 26 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index 475a1183f..03cd38f35 100644
--- a/.gitignore
+++ b/.gitignore
@@ -57,7 +57,7 @@ _build
######################
genrst/
/autoapi/
-/shared-bindings/**/*.rst
+/shared-bindings/*/**/*.rst
# ctags and similar
###################
@@ -80,3 +80,8 @@ TAGS
*.mo
.vscode
+
+# Python Virtual Environments
+####################
+.venv
+.env
diff --git a/conf.py b/conf.py
index 37e611dbb..cbdc71524 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|rc)\.\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.