50 lines
899 B
Bash
Executable File
50 lines
899 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# ref: https://github.com/jekyll/jekyll
|
|
|
|
set -eu
|
|
|
|
PAGES_BRANCH="gh-pages"
|
|
|
|
init() {
|
|
if [[ -z ${GITHUB_ACTION+x}]]; then
|
|
echo "ERROR: Not allowed to deploy outside of the GitHub Action envrionment."
|
|
exit -1
|
|
fi
|
|
}
|
|
|
|
build() {
|
|
bundle exec ruby "./scaffold.rb"
|
|
|
|
mv ./_output/* ./
|
|
}
|
|
|
|
setup_gh() {
|
|
if git branch --list "$PAGES_BRANCH" > /dev/null; then
|
|
echo "Branch '$PAGES_BRANCH' exists. Deleting and recreating it..."
|
|
git branch -D "$PAGES_BRANCH" # Delete the branch
|
|
fi
|
|
|
|
# Create and switch to the branch
|
|
git checkout -b "$PAGES_BRANCH"
|
|
}
|
|
|
|
deploy() {
|
|
git config --global user.name "ZhgChgLiBot"
|
|
git config --global user.email "no-reply@zhgchg.li"
|
|
|
|
git update-ref -d HEAD
|
|
git add -A
|
|
git commit -m "[Automation] Site update No.${GITHUB_RUN_NUMBER}"
|
|
|
|
git push -u origin "$PAGES_BRANCH"
|
|
}
|
|
|
|
main() {
|
|
init
|
|
build
|
|
setup_gh
|
|
deploy
|
|
}
|
|
|
|
main
|