-name: Publish documentation
-
-on:
- workflow_dispatch:
- workflow_call:
-
-jobs:
- publish-documentation:
- runs-on: ubuntu-latest
-
- steps:
- - name: Checkout
- uses: actions/checkout@v4
-
- - name: Setup pnpm
- uses: pnpm/action-setup@v4
-
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: 20.x
- cache: 'pnpm'
-
- - name: Generate documentation
- run: |
- pnpm install --ignore-scripts --frozen-lockfile
- pnpm typedoc
-
- - name: Commit files
- if: github.repository == 'poolifier/poolifier' && github.ref == 'refs/heads/${{ github.event.repository.default_branch }}'
- env:
- COMMIT_MESSAGE: 'docs: generate 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.repository == 'poolifier/poolifier' && 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 }}