diff --git a/docs/build_docs.sh b/docs/build_docs.sh index fbf2036af..c2468db21 100755 --- a/docs/build_docs.sh +++ b/docs/build_docs.sh @@ -1,5 +1,5 @@ #!/bin/bash -eux # Building sphinx and swagger docs - python -m sphinx . $BUILD_PATH TARGET_PATH="$BUILD_PATH/swagger" ./build_swagger.sh +python ./get-releases-json.py > $BUILD_PATH/releases.json diff --git a/docs/get-releases-json.py b/docs/get-releases-json.py new file mode 100644 index 000000000..8f623e7a0 --- /dev/null +++ b/docs/get-releases-json.py @@ -0,0 +1,34 @@ +import json +import subprocess + +from distutils.version import StrictVersion + + +def get_versions(): + + output = subprocess.check_output( + ["git", "tag", "-l", "--format=%(creatordate:iso-strict)|%(refname:short)"] + ) + tags = [] + + for line in output.decode().splitlines(): + try: + date, tag = line.split("|") + except (ValueError): + continue + + if not date or not tag: + continue + + tags.append({"id": tag, "date": date}) + return sorted(tags, key=lambda tag: StrictVersion(tag["id"]), reverse=True) + + +def main(): + versions = get_versions() + data = {"count": len(versions), "releases": versions} + print(json.dumps(data)) + + +if __name__ == "__main__": + main()