name: Preview Deployment on: pull_request: branches: [main] concurrency: group: preview-${{ github.ref }} cancel-in-progress: true jobs: deploy-preview: name: Deploy Vercel Preview runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup pnpm uses: pnpm/action-setup@v4 with: version: 10 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '22' cache: 'pnpm' - name: Install dependencies run: pnpm install --frozen-lockfile - name: Deploy to Vercel id: vercel-deploy uses: amondnet/vercel-action@v25 with: vercel-token: ${{ secrets.VERCEL_TOKEN }} vercel-org-id: ${{ secrets.VERCEL_ORG_ID }} vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }} working-directory: packages/app - name: Post preview URL as PR comment uses: actions/github-script@v7 env: PREVIEW_URL: ${{ steps.vercel-deploy.outputs.preview-url }} COMMIT_SHA: ${{ github.sha }} with: script: | const previewUrl = process.env.PREVIEW_URL; const sha = process.env.COMMIT_SHA; github.rest.issues.createComment({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, body: `## Preview Deployment\n\n✅ **Preview URL:** ${previewUrl}\n\nDeployed from commit \`${sha}\`` });