diff --git a/.github/workflows/codeflash.yaml b/.github/workflows/codeflash.yaml new file mode 100644 index 0000000000..d66136795d --- /dev/null +++ b/.github/workflows/codeflash.yaml @@ -0,0 +1,40 @@ +name: Codeflash + +on: + pull_request: + paths: + # So that this workflow only runs when code within the target module is modified + - 'api\**' + workflow_dispatch: + +concurrency: + # Any new push to the PR will cancel the previous run, so that only the latest code is optimized + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + + +jobs: + optimize: + name: Optimize new Python code + # Don't run codeflash on codeflash-ai[bot] commits, prevent duplicate optimizations + if: ${{ github.actor != 'codeflash-ai[bot]' }} + runs-on: ubuntu-latest + env: + CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }} + + steps: + - name: 🛎️ Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: 🐍 Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.13' + - name: 📦 Install Dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + pip install codeflash + - name: ⚡️Codeflash Optimization + run: codeflash