name: Generate documentation on: workflow_dispatch: jobs: generate: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup pnpm uses: pnpm/action-setup@v3 with: version: 8 - 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 }}