avoiding force push as it breaks DNS link #18
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: MkDocs Build + Deploy | |
on: | |
push: | |
branches: | |
- main # Set the branch you want to trigger the workflow on | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Set up Python | |
uses: actions/setup-python@v2 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install mkdocs mkdocs-material pymdown-extensions | |
- name: Build MkDocs | |
run: mkdocs build --clean | |
- name: Create and force push to documentation branch | |
run: | | |
git config user.name "${{ github.actor }}" | |
git config user.email "${{ github.actor }}@users.noreply.github.com" | |
git checkout -b production | |
find . -type f ! -path './site*' ! -path './.*' -exec echo {} + | |
find . -type f ! -path './site*' ! -path './.*' -exec rm -f {} + | |
rm -rf docs | |
mv site docs | |
touch .nojekyll | |
git add . | |
git commit -m "Content update" | |
# Backup the current state of the production branch | |
git branch backup-production | |
git checkout backup-production | |
git push origin backup-production | |
# Update the production branch with force push | |
git checkout production | |
git rebase origin/production | |
git push -f origin production |