ghaction-github-pages/entrypoint.sh

43 lines
1.0 KiB
Bash
Raw Normal View History

2019-09-01 04:23:41 +08:00
#!/bin/sh
set -e
BUILD_DIR=$1
if [ ! -d "$BUILD_DIR" ]; then
echo "⛔️ Build dir does not exist"
exit 1
fi
echo "cd $BUILD_DIR"
cd "$BUILD_DIR"
REPO="https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
OWNER="$(echo $GITHUB_REPOSITORY | cut -d'/' -f 1)"
REPONAME="$(echo $GITHUB_REPOSITORY | cut -d'/' -f 2)"
PAGES_REPO="${OWNER}.github.io"
if [[ "$REPONAME" == "$PAGES_REPO" ]]; then
TARGET_BRANCH="master"
else
TARGET_BRANCH="gh-pages"
fi
: "${REMOTE_BRANCH:=$TARGET_BRANCH}"
git init
git config user.name "${GITHUB_ACTOR}"
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
if [ -z "$(git status --porcelain)" ]; then
echo "⚠️ Nothing to publish"
exit 0
fi
git remote rm origin || true
git remote add origin "${REPO}"
git add .
git commit --allow-empty -m 'Deploy to GitHub pages'
git push --force --quiet "$REPO" $REMOTE_BRANCH
rm -rf .git
cd "$GITHUB_WORKSPACE"
echo "🎉 Content of $BUILD_DIR has been deployed to GitHub Pages."