name: Deploy Docs on: push: branches: - main jobs: deploy: runs-on: container: image: python:3.12 steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - run: python3 --version - run: | python3 -m venv /tmp/venv . /tmp/venv/bin/activate pip install --upgrade pip pip install zensical pip install -e . zensical build --clean - name: Deploy to pages branch run: | set -e git config user.name "forgejo-actions" git config user.email "forgejo-actions@noreply.local" git fetch origin pages git worktree add /tmp/pages-deploy origin/pages cd /tmp/pages-deploy git rm -rf --ignore-unmatch . cp -r "$GITHUB_WORKSPACE"/site/* . cp "$GITHUB_WORKSPACE"/site/.[!.]* . 2>/dev/null || true git add . if ! git diff --staged --quiet; then git commit -m "deploy: zensical build from ${GITHUB_SHA::7}" git push origin HEAD:pages else echo "No changes to deploy" fi env: GITHUB_WORKSPACE: ${{ github.workspace }} GITHUB_SHA: ${{ github.sha }}