name: Build www

on:
  pull_request:
    paths:
      - "apps/www/**"
      - ".github/workflows/www.yml"
  push:
    branches: [main]
    paths:
      - "apps/www/**"
      - ".github/workflows/www.yml"

jobs:
  deploy-www:
    name: Build and deploy www
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: "apps/www"
    steps:
      - uses: actions/checkout@v4
      - uses: oven-sh/setup-bun@v1
        with:
          bun-version: latest
      - name: Install dependencies
        run: bun install
      - name: Build Project Artifacts
        run: bun run build
      - name: Deploy Project Artifacts to Cloudflare
        uses: cloudflare/wrangler-action@v3
        with:
          packageManager: bun
          apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
          accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
          wranglerVersion: "3.93.0"
          workingDirectory: "apps/www"
          command: pages deploy ./dist --project-name=${{ vars.CF_WWW_PAGES_PROJECT_NAME }} --commit-dirty=true
        env:
          CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}