1 | #!/bin/bash
|
2 | set -e
|
3 |
|
4 | SOURCE_BRANCH="master"
|
5 | TARGET_BRANCH="gh-pages"
|
6 |
|
7 | function doCompile {
|
8 | npm run docs
|
9 | cp -r site/website/build/multiple-select/* build
|
10 | }
|
11 |
|
12 |
|
13 | if [ "$TRAVIS_PULL_REQUEST" != "false" -o "$TRAVIS_BRANCH" != "$SOURCE_BRANCH" ]; then
|
14 | echo "Skipping deploy; just doing a build."
|
15 | doCompile
|
16 | exit 0
|
17 | fi
|
18 |
|
19 |
|
20 | REPO=`git config remote.origin.url`
|
21 | SSH_REPO=${REPO/https:\/\/github.com\//git@github.com:}
|
22 | SHA=`git rev-parse --verify HEAD`
|
23 | OUT=build
|
24 |
|
25 |
|
26 |
|
27 | git clone $REPO $OUT
|
28 | cd $OUT
|
29 | git checkout $TARGET_BRANCH || git checkout --orphan $TARGET_BRANCH
|
30 | cd ..
|
31 |
|
32 |
|
33 | rm -rf $OUT/**/* || exit 0
|
34 |
|
35 |
|
36 | doCompile
|
37 |
|
38 |
|
39 | cd $OUT
|
40 | git config user.name "Travis CI"
|
41 | git config user.email "$COMMIT_AUTHOR_EMAIL"
|
42 |
|
43 |
|
44 | if git diff --quiet; then
|
45 | echo "No changes to the output on this push; exiting."
|
46 | exit 0
|
47 | fi
|
48 |
|
49 |
|
50 | VERSION=`git log --format=%h | wc -l | xargs echo -n`
|
51 | find . -type f -exec sed -i "s/v=VERSION/v=$VERSION/g" {} \;
|
52 |
|
53 |
|
54 |
|
55 | git add -A .
|
56 | git commit -m "Deploy to GitHub Pages: ${SHA}"
|
57 |
|
58 |
|
59 | ENCRYPTED_KEY_VAR="encrypted_${ENCRYPTION_LABEL}_key"
|
60 | ENCRYPTED_IV_VAR="encrypted_${ENCRYPTION_LABEL}_iv"
|
61 | ENCRYPTED_KEY=${!ENCRYPTED_KEY_VAR}
|
62 | ENCRYPTED_IV=${!ENCRYPTED_IV_VAR}
|
63 | openssl aes-256-cbc -K $ENCRYPTED_KEY -iv $ENCRYPTED_IV -in ../deploy_key.enc -out ../deploy_key -d
|
64 | chmod 600 ../deploy_key
|
65 | eval `ssh-agent -s`
|
66 | ssh-add ../deploy_key
|
67 |
|
68 |
|
69 | git push $SSH_REPO $TARGET_BRANCH
|