forked from MagicStack/asyncpg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtravis-publish-docs.sh
executable file
·68 lines (52 loc) · 1.73 KB
/
travis-publish-docs.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/bash
# Based on https://gist.github.com/domenic/ec8b0fc8ab45f39403dd
set -e -x
SOURCE_BRANCH="master"
TARGET_BRANCH="gh-pages"
DOC_BUILD_DIR="_build/html/"
if [ "${TRAVIS_PULL_REQUEST}" != "false" -o -z "${TRAVIS_TAG}" ]; then
echo "Skipping documentation deploy."
exit 0
fi
pip install -r docs/requirements.txt
make htmldocs
git config --global user.email "infra@magic.io"
git config --global user.name "Travis CI"
REPO=$(git config remote.origin.url)
SSH_REPO=${REPO/https:\/\/github.com\//git@github.com:}
COMMITISH=$(git rev-parse --verify HEAD)
AUTHOR=$(git show --format="%aN <%aE>" "${COMMITISH}")
git clone "${REPO}" docs/gh-pages
cd docs/gh-pages
git checkout "${TARGET_BRANCH}" || git checkout --orphan "${TARGET_BRANCH}"
cd ..
rm -r gh-pages/devel/
rsync -a "${DOC_BUILD_DIR}/" gh-pages/devel/
if [ -n "${TRAVIS_TAG}" ]; then
rm -r gh-pages/current/
rsync -a "${DOC_BUILD_DIR}/" gh-pages/current/
fi
cd gh-pages
if git diff --quiet --exit-code; then
echo "No changes to documentation."
exit 0
fi
git add --all .
git commit -m "Automatic documentation update" --author="${AUTHOR}"
set +x
echo "Decrypting push key..."
ENCRYPTED_KEY_VAR="encrypted_${DOCS_PUSH_KEY_LABEL}_key"
ENCRYPTED_IV_VAR="encrypted_${DOCS_PUSH_KEY_LABEL}_iv"
ENCRYPTED_KEY=${!ENCRYPTED_KEY_VAR}
ENCRYPTED_IV=${!ENCRYPTED_IV_VAR}
openssl aes-256-cbc -K "${ENCRYPTED_KEY}" -iv "${ENCRYPTED_IV}" \
-in "${TRAVIS_BUILD_DIR}/.ci/push_key.enc" \
-out "${TRAVIS_BUILD_DIR}/.ci/push_key" -d
set -x
chmod 600 "${TRAVIS_BUILD_DIR}/.ci/push_key"
eval `ssh-agent -s`
ssh-add "${TRAVIS_BUILD_DIR}/.ci/push_key"
git push "${SSH_REPO}" "${TARGET_BRANCH}"
rm "${TRAVIS_BUILD_DIR}/.ci/push_key"
cd "${TRAVIS_BUILD_DIR}"
rm -rf docs/gh-pages