]> Piment Noir Git Repositories - poolifier.git/commitdiff
ci: add manual documentation publish workflow
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 16 Feb 2026 19:05:40 +0000 (20:05 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 16 Feb 2026 19:05:40 +0000 (20:05 +0100)
.github/workflows/publish-documentation.yml [new file with mode: 0644]

diff --git a/.github/workflows/publish-documentation.yml b/.github/workflows/publish-documentation.yml
new file mode 100644 (file)
index 0000000..db24453
--- /dev/null
@@ -0,0 +1,52 @@
+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 }}