name: Deploy roocode.com on: push: branches: - main paths: - "apps/web-roo-code/**" workflow_dispatch: 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: Migrate evals database run: pnpm db:migrate:production working-directory: packages/evals env: DATABASE_URL: ${{ secrets.EVALS_DATABASE_URL }} - name: Install Vercel CLI run: npm install --global vercel@canary - 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 }}