name: CodeFlash

on:
  pull_request:
    paths:
      - 'codeflash/**'
      - 'tests/**'
      - 'pyproject.toml'
      - 'uv.lock'

  workflow_dispatch:

concurrency:
  group: ${{ github.workflow }}-${{ github.ref_name }}
  cancel-in-progress: true

jobs:
  optimize:
    name: Optimize new Python code
    if: ${{ github.actor != 'codeflash-ai[bot]' }}
    runs-on: ubuntu-latest
    env:
      CODEFLASH_AIS_SERVER: prod
      POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
      CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
      COLUMNS: 110
    steps:
      - name: 🛎️ Checkout
        uses: actions/checkout@v6
        with:
          fetch-depth: 0

      - name: 🐍 Set up Python 3.11 for CLI
        uses: astral-sh/setup-uv@v8.1.0
        with:
          python-version: 3.11.6
          enable-cache: true

      - name: 📦 Install dependencies (CLI)
        run: |
          uv sync

      - name: ⚡️Codeflash Optimization
        id: optimize_code
        run: |
          uv run codeflash --benchmark --testgen-review --no-pr