name: Deploy to Production

on:
  push:
    branches:
      - main
    paths:
      - 'apps/**/src/**'
      - 'infrastructure/src/**'
      - 'packages/*/src/**'
  workflow_dispatch:

concurrency:
  group: deploy-production
  cancel-in-progress: false

jobs:
  deploy:
    name: Build and Deploy
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup Bun
        uses: oven-sh/setup-bun@v2
        with:
          bun-version: latest

      - name: Install dependencies
        run: bun install --frozen-lockfile
        working-directory: .

      - name: Configure AWS credentials
        uses: aws-actions/configure-aws-credentials@v4
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: us-east-1

      - name: Install Pulumi CLI
        uses: pulumi/actions@v5

      - name: Build and Deploy
        run: bun run deploy -- -c aws:profile="" -s production --skip-preview
        env:
          PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}

      - name: Deployment summary
        run: |
          echo "✅ Deployment completed successfully"
