name: CodeFlash

on:
  pull_request:
    paths:
      - 'cli/**'
  workflow_dispatch:


defaults:
  run:
    working-directory: ./cli

concurrency: # Cancel prior if new push, SEE: https://stackoverflow.com/a/72408109
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

jobs:
  optimize:
    name: Optimize new code in this PR
    if: ${{ github.actor != 'codeflash-ai[bot]' }}
    runs-on: ubuntu-latest
    env:
      CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
      CODEFLASH_PR_NUMBER: ${{ github.event.number }}
      COLUMNS: 110
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
          token: ${{ secrets.GITHUB_TOKEN }}
      - name: Set up Python 3.11
        uses: actions/setup-python@v5
        with:
          python-version: 3.11.6
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install poetry
          poetry install --with dev
      - name: Run Codeflash to optimize code
        id: optimize_code
        run: |
          poetry env use python 
          poetry run codeflash
