]> granicus.if.org Git - esp-idf/commitdiff
docs: deploy built docs
authorIvan Grokhotkov <ivan@espressif.com>
Tue, 1 Nov 2016 12:58:47 +0000 (20:58 +0800)
committerIvan Grokhotkov <ivan@espressif.com>
Tue, 1 Nov 2016 14:21:46 +0000 (22:21 +0800)
.gitlab-ci.yml
docs/conf.py

index 25e4d4f1772207eed6d650b80f7eff7750decd38..931009f4b95e74a4192cec12d4d49e501a537a57 100644 (file)
@@ -103,7 +103,7 @@ build_docs:
   artifacts:
     paths:
       - docs/_build/html
-    expire_in: 6 mos
+    expire_in: 1 mos
 
 
 test_nvs_on_host:
@@ -173,6 +173,31 @@ push_master_to_github:
     - git push --follow-tags github HEAD:master
 
 
+deploy_docs:
+  before_script:
+    - echo "Not setting up GitLab key, not fetching submodules"
+  stage: deploy
+  only:
+   - master
+   - triggers
+  tags:
+    - deploy
+  image: espressif/esp32-ci-env
+  script:
+    - mkdir -p ~/.ssh
+    - chmod 700 ~/.ssh
+    - echo -n $DOCS_DEPLOY_KEY > ~/.ssh/id_rsa_base64
+    - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
+    - chmod 600 ~/.ssh/id_rsa
+    - echo -e "Host $DOCS_SERVER\n\tStrictHostKeyChecking no\n\tUser $DOCS_SERVER_USER\n" >> ~/.ssh/config
+    - export GIT_VER=$(git describe --always)
+    - cd docs/_build/
+    - mv html $GIT_VER
+    - tar czvf $GIT_VER.tar.gz $GIT_VER
+    - scp $GIT_VER.tar.gz $DOCS_SERVER:$DOCS_PATH
+    - ssh $DOCS_SERVER -x "cd $DOCS_PATH && tar xzvf $GIT_VER.tar.gz && rm -f latest && ln -s $GIT_VER latest"
+
+
 # AUTO GENERATED PART START, DO NOT MODIFY CONTENT BELOW
 # template for test jobs
 .test_template: &test_template
index 8a8821fb0d0b39575dd3806091fe6d156630acf3..8a4a275c8a3c60273b5bc3fb16491d73b0addb64 100644 (file)
@@ -26,9 +26,20 @@ import os
 # added by krzychb, 24-Oct-2016
 #
 
-from subprocess import call 
+from subprocess import call, Popen, PIPE
+import shlex
+
 call('doxygen')
 
+# -- Function to get output of a command ----------------------------------
+def run_cmd_get_output(cmd):
+    process = Popen(shlex.split(cmd), stdout=PIPE)
+    (output, err) = process.communicate()
+    exit_code = process.wait()
+    if exit_code != 0:
+        raise RuntimeError('command line program has failed')
+    return output
+
 
 # -- General configuration ------------------------------------------------
 
@@ -64,10 +75,13 @@ copyright = u'2016, Espressif'
 # |version| and |release|, also used in various other places throughout the
 # built documents.
 #
-# The short X.Y version.
-version = '1.0'
+# This is supposed to be "the short X.Y version", but it's the only version
+# visible when you open index.html.
+# Display full version to make things less confusing.
+# If needed, nearest tag is returned by 'git describe --abbrev=0'.
+version = run_cmd_get_output('git describe')
 # The full version, including alpha/beta/rc tags.
-release = '1.0'
+release = run_cmd_get_output('git describe')
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.