diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index f8f3290f..f2fa15bf 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -253,13 +253,30 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Deploy to Vercel (Staging) - uses: amondnet/vercel-action@v25 + - name: Setup Node.js + uses: actions/setup-node@v4 with: - vercel-token: ${{ secrets.VERCEL_TOKEN }} - vercel-org-id: ${{ secrets.VERCEL_ORG_ID }} - vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }} - vercel-args: '--prod=false' + node-version: ${{ env.NODE_VERSION }} + cache: 'npm' + + - name: Install Vercel CLI + run: npm install -g vercel@latest + + - name: Link Vercel Project + run: | + # Create .vercel directory and project.json to link the project + mkdir -p .vercel + echo '{"orgId":"${{ secrets.VERCEL_ORG_ID }}","projectId":"${{ secrets.VERCEL_PROJECT_ID }}"}' > .vercel/project.json + env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} + + - name: Deploy to Vercel (Staging) + run: | + vercel --token ${{ secrets.VERCEL_TOKEN }} --yes + env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - name: Run smoke tests run: | @@ -277,13 +294,30 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Deploy to Vercel (Production) - uses: amondnet/vercel-action@v25 + - name: Setup Node.js + uses: actions/setup-node@v4 with: - vercel-token: ${{ secrets.VERCEL_TOKEN }} - vercel-org-id: ${{ secrets.VERCEL_ORG_ID }} - vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }} - vercel-args: '--prod' + node-version: ${{ env.NODE_VERSION }} + cache: 'npm' + + - name: Install Vercel CLI + run: npm install -g vercel@latest + + - name: Link Vercel Project + run: | + # Create .vercel directory and project.json to link the project + mkdir -p .vercel + echo '{"orgId":"${{ secrets.VERCEL_ORG_ID }}","projectId":"${{ secrets.VERCEL_PROJECT_ID }}"}' > .vercel/project.json + env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} + + - name: Deploy to Vercel (Production) + run: | + vercel --prod --token ${{ secrets.VERCEL_TOKEN }} --yes + env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - name: Run production health check run: |