--- /dev/null
+name: Publish Documentation
+
+on:
+ workflow_dispatch:
+
+permissions:
+ contents: read
+
+jobs:
+ publish-documentation:
+ runs-on: ubuntu-latest
+ if: github.repository == 'poolifier/poolifier'
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v6
+ with:
+ token: ${{ secrets.GH_TOKEN_PROTECTED }}
+
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v4
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v6
+ with:
+ node-version: 24.x
+ cache: 'pnpm'
+
+ - name: Generate documentation
+ run: |
+ pnpm install --ignore-scripts --frozen-lockfile
+ pnpm typedoc
+
+ - name: Commit files
+ if: github.ref == 'refs/heads/${{ github.event.repository.default_branch }}'
+ env:
+ COMMIT_MESSAGE: 'docs: publish documentation'
+ COMMIT_AUTHOR: Documentation Bot
+ COMMIT_EMAIL: documentation-bot@users.noreply.github.com
+ run: |
+ git config --local user.name "${{ env.COMMIT_AUTHOR }}"
+ git config --local user.email "${{ env.COMMIT_EMAIL }}"
+ git pull
+ git add ./docs
+ git commit -a -m "${{ env.COMMIT_MESSAGE }}"
+
+ - name: Push changes
+ if: github.ref == 'refs/heads/${{ github.event.repository.default_branch }}'
+ uses: CasperWA/push-protected@v2
+ with:
+ token: ${{ secrets.GH_TOKEN_PROTECTED }}
+ branch: ${{ github.event.repository.default_branch }}