diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 9febc22..1d26a43 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -1,7 +1,3 @@ -env: &anchor - ANCHOR: this is my anchor - - name: CI on: push: @@ -12,10 +8,56 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - env: - <<: *anchor - name: push content - run: | - echo ${{ env.ANCHOR }} + REMOTE="https://${GITHUB_PAT}@github.com/${GITHUB_REPOSITORY}.git" + COMMITER_NAME="${GITHUB_ACTOR}-github-actions" + COMMITER_EMAIL="${GITHUB_ACTOR}-@users.noreply.github.com" + REMOTE_BRANCH_EXISTS=$(git ls-remote --heads ${REMOTE} ${target_branch} | wc -l) + + mkdir /tmp/github-pages + cd /tmp/github-pages + + if $keep_history && [ $REMOTE_BRANCH_EXISTS -ne 0 ] + then + git clone --quiet --branch ${target_branch} --depth 1 ${REMOTE} . + else + echo remote does not exist + echo initialize repo + git init . + git checkout --orphan gh-pages + fi + + echo "

hello there

stranger

" > index.html + + DIRTY=$(git status --short | wc -l) + + if $keep_history && [ $REMOTE_BRANCH_EXISTS -ne 0 ] && [ $DIRTY = 0 ] + then + echo '⚠️ There are no changes to commit, stopping.' + else + git log + git config user.name ${COMMITER_NAME} + git config user.email ${COMMITER_EMAIL} + git add --all . + git commit -m "DIST to ${target_branch}" + + echo 🏃 Deploying ${build_dir} directory to ${target_branch} branch on ${repo} repo + + if [ $keep_history == false] + then + git push --quiet ${REMOTE} ${target_branch} + else + git push --quiet --force ${REMOTE} ${target_branch} + fi + fi + echo 🎉 Content of ${build_dir} has been deployed to GitHub Pages. + + + + + env: + GITHUB_PAT: ${{ secrets.GITHUB_PAT }} + target_branch: gh-pages + keep_history: true