build(deps-dev): apply updates
[poolifier.git] / .github / workflows / generate-documentation.yml
index 0aea60faeddc4a7b3995f6bc7f132dc729a4d9f8..095f1d50c08963133be658001a127e01b1b318b7 100644 (file)
@@ -9,27 +9,39 @@ jobs:
 
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
 
-      - name: Setup node
-        uses: actions/setup-node@v3
+      - name: Setup pnpm
+        uses: pnpm/action-setup@v3
         with:
-          node-version: '16.x'
+          version: 8
+
+      - name: Setup Node.js
+        uses: actions/setup-node@v4
+        with:
+          node-version: '20.x'
+          cache: 'pnpm'
 
       - name: Generate documentation
         run: |
-          npm ci
-          npm run typedoc
+          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 }}'"
+        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.email "41898282+github-actions[bot]@users.noreply.github.com"
-          git config --local user.name "github-actions[bot]"
-          git commit -m "Generate documentation" -a
+          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 }}'"
+        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 }}