diff --git a/.github/workflows/build-toc.yaml b/.github/workflows/build-toc.yaml index 6db8360..5882347 100644 --- a/.github/workflows/build-toc.yaml +++ b/.github/workflows/build-toc.yaml @@ -1,15 +1,48 @@ -name: Generate TOC on PR Merge +name: Generate TOC on PR Merge or Push on: + # Trigger on PR merge pull_request_target: types: - closed branches: - main + # Trigger on direct pushes to main branch + push: + branches: + - main jobs: - if_merged: - if: github.event.pull_request.merged == true + build_toc_on_pr_merge: + if: github.event_name == 'pull_request_target' && github.event.pull_request.merged == true + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Set up Python 3 + uses: actions/setup-python@v3 + with: + python-version: '3.x' + + - name: Run TOC generation script + run: | + chmod +x .scripts/idxtool.py + python3 .scripts/idxtool.py --toc + + - name: Commit TOC updates + run: | + git config --global user.name 'LouisShark' + git config --global user.email 'mshark.louis@gmail.com' + git add . + git commit -m "docs: Update TOC.md" || echo "No changes to commit" + git pull --rebase + git push origin HEAD:main + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + build_toc_on_push: + if: github.event_name == 'push' runs-on: ubuntu-latest steps: - name: Checkout repository