name: ▲ Vercel Deployment on: push: branches: [main, develop] pull_request: branches: [main] workflow_dispatch: jobs: deploy: name: Deploy to Vercel runs-on: ubuntu-latest steps: - name: 📥 Checkout uses: actions/checkout@v4 - name: 🔧 Setup Node uses: actions/setup-node@v4 with: node-version: '20' - name: 📦 Install Vercel CLI run: npm install -g vercel@latest - name: 🔗 Pull environment run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} env: VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - name: 🏗️ Build run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} - name: 🚀 Deploy id: deploy run: | if [ "${{ github.event_name }}" == "pull_request" ]; then vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }} | tee deployment-url.txt else vercel deploy --prod --prebuilt --token=${{ secrets.VERCEL_TOKEN }} | tee deployment-url.txt fi echo "url=$(cat deployment-url.txt | tail -1)" >> $GITHUB_OUTPUT - name: 📊 Summary run: | echo "### ▲ Vercel Deployment Success" >> $GITHUB_STEP_SUMMARY echo "- **URL**: ${{ steps.deploy.outputs.url }}" >> $GITHUB_STEP_SUMMARY