name: Deploy Frappe Docker Docs to GitHub Pages on: push: branches: [main] paths: - "docs/**" - ".github/workflows/publish_docs.yml" workflow_dispatch: permissions: contents: read pages: write id-token: write defaults: run: working-directory: ./docs concurrency: group: pages cancel-in-progress: true jobs: build-and-deploy: runs-on: ubuntu-latest strategy: matrix: node-version: [24] steps: - name: Checkout uses: actions/checkout@v6 - name: Install pnpm uses: pnpm/action-setup@v6 with: version: 10.28.2 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v6 with: node-version: ${{ matrix.node-version }} cache: "pnpm" cache-dependency-path: ./docs/pnpm-lock.yaml - name: Debug lockfile on runner run: | pwd ls -la echo "sha256 (workspace file):" sha256sum pnpm-lock.yaml echo "sha256 (git blob at HEAD):" git show HEAD:docs/pnpm-lock.yaml | sha256sum echo "lockfileVersion count:" grep -c '^lockfileVersion:' pnpm-lock.yaml || true echo "yaml document markers:" grep -nE '^---$|^\\.\\.\\.$|^<<<<<<<|^=======|^>>>>>>>$' pnpm-lock.yaml || true echo "first 20 lines:" sed -n '1,20p' pnpm-lock.yaml echo "last 20 lines:" tail -n 20 pnpm-lock.yaml - name: Install dependencies run: pnpm i --frozen-lockfile - name: Build Docs site run: pnpm docs:build - name: Upload artifact uses: actions/upload-pages-artifact@v5 with: path: docs/.vitepress/dist - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v5