name: web / deploy to GitHub Pages on: push: branches: [main] paths: - 'web/**' - '.github/workflows/web-deploy-github-pages.yml' workflow_dispatch: permissions: contents: read pages: write id-token: write concurrency: group: github-pages cancel-in-progress: true jobs: build: runs-on: ubuntu-latest defaults: run: working-directory: web steps: - uses: actions/checkout@v7 - uses: pnpm/action-setup@v6 with: package_json_file: web/package.json - uses: actions/setup-node@v7 with: node-version: '24' cache: pnpm cache-dependency-path: web/pnpm-lock.yaml - run: pnpm install --frozen-lockfile - run: pnpm build:gh - uses: actions/configure-pages@v6 - uses: actions/upload-pages-artifact@v5 with: path: web/build deploy: needs: build runs-on: ubuntu-latest environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - id: deployment uses: actions/deploy-pages@v5