|
@@ -0,0 +1,36 @@
|
|
|
+#!/bin/bash
|
|
|
+#
|
|
|
+# Script for travis-ci to sync apidoc dir from master branch to gh-pages branch
|
|
|
+# based on :
|
|
|
+# * https://github.com/steveklabnik/automatically_update_github_pages_with_travis_example
|
|
|
+# * https://github.com/gemini-testing/gemini/pull/352/files
|
|
|
+
|
|
|
+set -o errexit -o nounset
|
|
|
+
|
|
|
+if [ "$TRAVIS_BRANCH" != "master" ] ; then
|
|
|
+ echo "This commit was made against the $TRAVIS_BRANCH and not the master! No deploy!"
|
|
|
+ exit 0
|
|
|
+fi
|
|
|
+
|
|
|
+
|
|
|
+rev=$(git rev-parse --short HEAD)
|
|
|
+repo=$(git config --local --get-all remote.origin.url | awk -F'[:/]' 'NF && NF-1 {print ($(NF-1)"/"$NF)}')
|
|
|
+
|
|
|
+echo -e "Starting to update gh-pages of ${repo} at ${rev}\n"
|
|
|
+
|
|
|
+# on Travis, can't optimize by cloning itself and define remote as upstream
|
|
|
+# travis> "attempt to fetch/clone from a shallow repository"
|
|
|
+# So need to do a full clone
|
|
|
+rm -Rf gh-pages
|
|
|
+git clone -b gh-pages --single-branch https://${GH_TOKEN}@github.com/${repo} gh-pages
|
|
|
+cd gh-pages
|
|
|
+
|
|
|
+rsync -avz --stats ../asciidoc/html5 .
|
|
|
+
|
|
|
+git config --local user.email "[email protected]"
|
|
|
+git config --local user.name "Travis"
|
|
|
+git add -A .
|
|
|
+git commit -m "Travis build $TRAVIS_BUILD_NUMBER pushed to gh-pages at ${rev}"
|
|
|
+git push origin gh-pages
|
|
|
+cd ..
|
|
|
+rm -Rf gh-pages
|