]> git.lizzy.rs Git - rust.git/blobdiff - .github/deploy.sh
Link with https instead of http
[rust.git] / .github / deploy.sh
index 3be61217621ad1094fa90c0c10a5802e29530d64..aa76f8f4e410fb6886d476882bb1d1147e3e28df 100755 (executable)
@@ -2,6 +2,7 @@
 # Automatically deploy on gh-pages
 
 set -e
+set -x
 
 SOURCE_BRANCH="master"
 TARGET_BRANCH="gh-pages"
@@ -18,28 +19,45 @@ SHA=$(git rev-parse --verify HEAD)
     git checkout $TARGET_BRANCH
 )
 
-# Remove the current doc for master
+echo "Removing the current docs for master"
 rm -rf out/master/ || exit 0
 
-# Make the doc for master
+echo "Making the docs for master"
 mkdir out/master/
 cp util/gh-pages/index.html out/master
 python ./util/export.py out/master/lints.json
 
-# Save the doc for the current tag and point current/ to it
 if [ -n "$TRAVIS_TAG" ]; then
+    echo "Save the doc for the current tag ($TRAVIS_TAG) and point current/ to it"
     cp -r out/master "out/$TRAVIS_TAG"
     rm -f out/current
     ln -s "$TRAVIS_TAG" out/current
 fi
 
+# Generate version index that is shown as root index page
+(
+    cp util/gh-pages/versions.html out/index.html
+
+    cd out
+    python -c '\
+        import os, json;\
+        print json.dumps([\
+            dir for dir in os.listdir(".")\
+            if not dir.startswith(".") and os.path.isdir(dir)\
+        ])' > versions.json
+)
+
 # Pull requests and commits to other branches shouldn't try to deploy, just build to verify
 if [ "$TRAVIS_PULL_REQUEST" != "false" ] || [ "$TRAVIS_BRANCH" != "$SOURCE_BRANCH" ]; then
-    echo "Generated, won't push"
-    exit 0
+    # Tags should deploy
+    if [ -z "$TRAVIS_TAG" ]; then
+        echo "Generated, won't push"
+        exit 0
+    fi
 fi
 
 # Get the deploy key by using Travis's stored variables to decrypt deploy_key.enc
+ENCRYPTION_LABEL=e3a2d77100be
 ENCRYPTED_KEY_VAR="encrypted_${ENCRYPTION_LABEL}_key"
 ENCRYPTED_IV_VAR="encrypted_${ENCRYPTION_LABEL}_iv"
 ENCRYPTED_KEY=${!ENCRYPTED_KEY_VAR}
@@ -54,8 +72,7 @@ cd out
 git config user.name "Travis CI"
 git config user.email "travis@ci.invalid"
 
-git diff --exit-code
-if [ $? != 1 ]; then
+if [ -z "$(git diff --exit-code)" ]; then
     echo "No changes to the output on this push; exiting."
     exit 0
 fi