name: Deploy Vercel on: push: branches: - main - dev pull_request: jobs: test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version: 20 cache: npm - name: Install run: npm ci # - name: Lint # run: npm run lint --if-present # - name: Test # run: npm test --if-present deploy-preprod: runs-on: ubuntu-latest if: github.ref == 'refs/heads/dev' env: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version: 20 cache: npm - name: Install run: npm ci - name: Install Vercel CLI run: npm install -g vercel - name: Pull Vercel environment run: vercel pull --yes --environment=preview - name: Build for preprod run: vercel build - name: Deploy preprod run: vercel deploy --prebuilt --archive=tgz deploy-production: runs-on: ubuntu-latest if: github.ref == 'refs/heads/main' env: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version: 20 cache: npm - name: Install run: npm ci - name: Install Vercel CLI run: npm install -g vercel - name: Pull Vercel production environment run: vercel pull --yes --environment=production - name: Build for production run: vercel build --prod - name: Deploy production run: vercel deploy --prebuilt --prod --archive=tgz