name: Cleanup GitHub Pages on Branch Deletion on: delete permissions: contents: write concurrency: group: "pages" cancel-in-progress: false jobs: cleanup: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3.5.3 - name: Delete directory in gh-pages if: github.event.ref_type == 'branch' run: | git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --global user.name "github-actions[bot]" git fetch --all git checkout gh-pages branchName=$(echo "${{ github.event.ref }}" | sed -e 's,^refs/heads/,,') if [ -d "./${branchName}" ]; then git rm -rf --ignore-unmatch "${branchName}" git commit -m "Cleanup directory for deleted branch ${branchName}" git push origin gh-pages else echo "Directory doesn't exist for branch ${branchName}" fi