name: Deploy roocode.com on: push: branches: - main paths: - 'apps/web-roo-code/**' workflow_dispatch: concurrency: group: deploy-roocode-com cancel-in-progress: true env: VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} jobs: check-secrets: runs-on: ubuntu-latest outputs: has-vercel-token: ${{ steps.check.outputs.has-vercel-token }} steps: - name: Check if VERCEL_TOKEN exists id: check run: | if [ -n "${{ secrets.VERCEL_TOKEN }}" ]; then echo "has-vercel-token=true" >> $GITHUB_OUTPUT else echo "has-vercel-token=false" >> $GITHUB_OUTPUT fi deploy: runs-on: ubuntu-latest needs: check-secrets if: ${{ needs.check-secrets.outputs.has-vercel-token == 'true' }} steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js and pnpm uses: ./.github/actions/setup-node-pnpm - name: Run lint run: pnpm lint working-directory: apps/web-roo-code - name: Run type check run: pnpm check-types working-directory: apps/web-roo-code - name: Run build run: pnpm build working-directory: apps/web-roo-code - name: Install Vercel CLI run: npm install --global vercel@latest - name: Pull Vercel Environment Information run: npx vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} - name: Build Project Artifacts run: npx vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} - name: Deploy Project Artifacts to Vercel run: npx vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }}