2020-07-28 21:27:40 +03:00
|
|
|
#!/bin/bash
|
|
|
|
#
|
|
|
|
# Deploy the content of _site to 'origin/<pages_branch>'
|
|
|
|
#
|
|
|
|
# v2.5
|
|
|
|
# https://github.com/cotes2020/jekyll-theme-chirpy
|
|
|
|
# © 2020 Cotes Chung
|
|
|
|
# Published under MIT License
|
|
|
|
|
|
|
|
set -eu
|
|
|
|
|
|
|
|
PAGES_BRANCH="gh-pages"
|
|
|
|
|
|
|
|
_no_branch=false
|
2020-09-01 06:53:14 +03:00
|
|
|
_backup_dir="$(mktemp -d)"
|
2020-07-28 21:27:40 +03:00
|
|
|
|
2020-09-01 06:53:14 +03:00
|
|
|
init() {
|
|
|
|
if [[ -z $(git branch -av | grep "$PAGES_BRANCH") ]]; then
|
|
|
|
_no_branch=true
|
|
|
|
git checkout -b "$PAGES_BRANCH"
|
|
|
|
else
|
|
|
|
git checkout "$PAGES_BRANCH"
|
|
|
|
fi
|
|
|
|
}
|
2020-07-28 21:27:40 +03:00
|
|
|
|
2020-09-01 06:53:14 +03:00
|
|
|
backup() {
|
2020-09-04 14:49:18 +03:00
|
|
|
mv _site/* "$_backup_dir"
|
2020-09-01 06:53:14 +03:00
|
|
|
mv .git "$_backup_dir"
|
2020-07-28 21:27:40 +03:00
|
|
|
|
2020-09-01 09:54:29 +03:00
|
|
|
# When adding custom domain from Github website,
|
2020-09-01 06:53:14 +03:00
|
|
|
# the CANME only exist on `gh-pages` branch
|
2020-09-01 09:54:29 +03:00
|
|
|
if [[ -f CNAME ]]; then
|
2020-09-01 06:53:14 +03:00
|
|
|
mv CNAME "$_backup_dir"
|
2020-09-01 09:54:29 +03:00
|
|
|
fi
|
2020-09-01 06:53:14 +03:00
|
|
|
}
|
2020-07-28 21:27:40 +03:00
|
|
|
|
2020-09-01 06:53:14 +03:00
|
|
|
flush() {
|
|
|
|
rm -rf ./*
|
|
|
|
rm -rf .[^.] .??*
|
2020-07-28 21:27:40 +03:00
|
|
|
|
2020-09-01 06:53:14 +03:00
|
|
|
shopt -s dotglob nullglob
|
|
|
|
mv "$_backup_dir"/* .
|
|
|
|
}
|
2020-07-28 21:27:40 +03:00
|
|
|
|
2020-09-01 06:53:14 +03:00
|
|
|
deoply() {
|
|
|
|
git config --global user.name "GitHub Actions"
|
|
|
|
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
2020-07-28 21:27:40 +03:00
|
|
|
|
2020-09-01 06:53:14 +03:00
|
|
|
git update-ref -d HEAD
|
|
|
|
git add -A
|
|
|
|
git commit -m "[Automation] Site update No.${GITHUB_RUN_NUMBER}"
|
|
|
|
|
2020-09-01 09:54:29 +03:00
|
|
|
if $_no_branch; then
|
2020-09-01 06:53:14 +03:00
|
|
|
git push -u origin "$PAGES_BRANCH"
|
|
|
|
else
|
|
|
|
git push -f
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
main() {
|
|
|
|
init
|
|
|
|
backup
|
|
|
|
flush
|
|
|
|
deoply
|
|
|
|
}
|
|
|
|
|
|
|
|
main
|