forked from dhermes/bossylobster-blog
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathupdate_pages_repo.sh
executable file
·51 lines (43 loc) · 1.55 KB
/
update_pages_repo.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
#!/bin/bash
set -ev
#################################
# Build static site in output/. #
#################################
make clean && make html
#######################################
# Checkout the repository Pages repo. #
#######################################
PAGES_REPO="${GH_OWNER}.github.io"
git clone --branch=master \
"https://${GH_OAUTH_TOKEN}@github.com//${GH_OWNER}/${PAGES_REPO}" \
"${PAGES_REPO}"
##############################################
# Remove the old content from ${PAGES_REPO}. #
##############################################
cd "${PAGES_REPO}"
git rm -r *
########################################################
# Put the cleanly built output into the ${PAGES_REPO}. #
########################################################
cp -r ../output/* .
##########################################
# Add a CNAME file to the ${PAGES_REPO}. #
##########################################
echo "blog.bossylobster.com" > CNAME
##################################
# Add the commits and push them. #
##################################
git config --global user.email "[email protected]"
git config --global user.name "travis-ci"
git add .
git status # To see what has changed.
# H/T: http://stackoverflow.com/a/5139346/1068170
if [[ -n "$(git status --porcelain)" ]]; then
git commit \
-m "Update ${PAGES_REPO} after blog commit in ${GH_PROJECT_NAME}." \
-m "Added in https://travis-ci.org/${TRAVIS_REPO_SLUG}/builds/${TRAVIS_BUILD_ID}"
git status
git push origin master
else
echo "Nothing to commit. Exiting without pushing changes."
fi