chore: update engine requirements to Node >=22 and pnpm >=10.24 #6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy to Vercel | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| env: | |
| VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} | |
| VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} | |
| jobs: | |
| deploy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.24.0 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22" | |
| cache: "pnpm" | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: TypeScript check | |
| run: pnpm typecheck | |
| - name: Lint | |
| run: pnpm lint | |
| - name: Install Vercel CLI | |
| run: pnpm add -g vercel@latest | |
| - name: Pull Vercel Environment | |
| run: vercel pull --yes --environment=${{ github.ref == 'refs/heads/main' && 'production' || 'preview' }} --token=${{ secrets.VERCEL_TOKEN }} | |
| - name: Build Project | |
| run: vercel build ${{ github.ref == 'refs/heads/main' && '--prod' || '' }} --token=${{ secrets.VERCEL_TOKEN }} | |
| - name: Deploy to Vercel | |
| id: deploy | |
| run: | | |
| if [ "${{ github.ref }}" == "refs/heads/main" ]; then | |
| vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} > deployment-url.txt | |
| else | |
| vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }} > deployment-url.txt | |
| fi | |
| echo "url=$(cat deployment-url.txt)" >> $GITHUB_OUTPUT | |
| - name: Comment PR with Preview URL | |
| if: github.event_name == 'pull_request' | |
| uses: actions/github-script@v7 | |
| with: | |
| script: | | |
| github.rest.issues.createComment({ | |
| issue_number: context.issue.number, | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| body: `Preview deployed to: ${{ steps.deploy.outputs.url }}` | |
| }) |