From 46039e4f03ca1f73eb51db8609ef1650885d576e Mon Sep 17 00:00:00 2001
From: Eliot Berriot <contact@eliotberriot.com>
Date: Fri, 23 Aug 2019 09:27:47 +0200
Subject: [PATCH] Also publish a file containing the latest release

---
 docs/build_docs.sh        |  1 +
 docs/get-releases-json.py | 24 ++++++++++++++++++++----
 2 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/docs/build_docs.sh b/docs/build_docs.sh
index c2468db21..0c856bfe1 100755
--- a/docs/build_docs.sh
+++ b/docs/build_docs.sh
@@ -3,3 +3,4 @@
 python -m sphinx . $BUILD_PATH
 TARGET_PATH="$BUILD_PATH/swagger" ./build_swagger.sh
 python ./get-releases-json.py > $BUILD_PATH/releases.json
+python ./get-releases-json.py --latest > $BUILD_PATH/latest
diff --git a/docs/get-releases-json.py b/docs/get-releases-json.py
index 6cd0f472b..a7afaed80 100644
--- a/docs/get-releases-json.py
+++ b/docs/get-releases-json.py
@@ -1,3 +1,4 @@
+import argparse
 import json
 import subprocess
 
@@ -32,11 +33,26 @@ def get_versions():
     return sorted(valid, key=lambda tag: StrictVersion(tag["id"]), reverse=True)
 
 
-def main():
+def main(latest=False):
     versions = get_versions()
-    data = {"count": len(versions), "releases": versions}
-    print(json.dumps(data))
+    if latest:
+        print(versions[0]["id"])
+    else:
+        data = {"count": len(versions), "releases": versions}
+        print(json.dumps(data, sort_keys=True, indent=2))
 
 
 if __name__ == "__main__":
-    main()
+    parser = argparse.ArgumentParser(
+        """
+        Compile release data and output in in JSON format
+        """
+    )
+    parser.add_argument(
+        "-l",
+        "--latest",
+        action="store_true",
+        help="Only print the latest version then exit",
+    )
+    args = parser.parse_args()
+    main(latest=args.latest)
-- 
GitLab