# name: Deploy to Vercel # on: # push: # branches: # - main # - refactor # pull_request: # branches: # - main # - refactor # env: # VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} # VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} # jobs: # Deploy-Production: # runs-on: ubuntu-latest # if: github.ref == 'refs/heads/main' # steps: # - name: Checkout code # uses: actions/checkout@v3 # - name: Setup Node.js # uses: actions/setup-node@v3 # with: # node-version: "18" # cache: "npm" # - name: Install dependencies # run: npm ci # - name: Generate Prisma Client # run: npx prisma generate # - name: Run Database Migrations # run: npx prisma migrate deploy # env: # DATABASE_URL: ${{ secrets.DATABASE_URL }} # - name: Install Vercel CLI # run: npm install --global vercel@latest # - name: Pull Vercel Environment Information # run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} # - name: Build Project Artifacts # run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} # - name: Deploy Project Artifacts to Vercel # run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} # Deploy-Preview: # runs-on: ubuntu-latest # if: github.ref != 'refs/heads/main' # steps: # - name: Checkout code # uses: actions/checkout@v3 # - name: Setup Node.js # uses: actions/setup-node@v3 # with: # node-version: "18" # cache: "npm" # - name: Install dependencies # run: npm ci # - name: Generate Prisma Client # run: npx prisma generate # - name: Install Vercel CLI # run: npm install --global vercel@latest # - name: Pull Vercel Environment Information # run: vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }} # - name: Build Project Artifacts # run: vercel build --token=${{ secrets.VERCEL_TOKEN }} # - name: Deploy Project Artifacts to Vercel # run: vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }}