name: Models Performance

permissions: write-all

on:
  pull_request:
    types: [opened, synchronize, reopened]
    paths-ignore:
      - 'timegpt-docs/**'
defaults:
  run:
    shell: bash -l {0}

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

jobs:
  run-models-performance:
    runs-on: ubuntu-latest
    env:
      NIXTLA_API_KEY: ${{ secrets.NIXTLA_DEV_API_KEY }}
      NIXTLA_BASE_URL: ${{ secrets.NIXTLA_DEV_BASE_URL }}
      PLOTS_REPO_URL: https://github.com/Nixtla/nixtla/blob/docs-figs-model-performance
    steps:
      - name: Clone repo
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

      - name: Set up python
        uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # 5.4.0
        with:
          python-version: "3.10"

      - name: Install pip requirements
        run: pip install uv && uv pip install --system '.[dev]'

      - name: Run evaluation
        run: python -m action_files.models_performance.main

      - name: Upload results to the PR
        if: github.event_name == 'pull_request'
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PR_NUMBER: ${{ github.event.pull_request.number }}
        run: >
          python action_files/comment_file.py
          --search_term "Experiment Results"
          --file "action_files/models_performance/summary.md"

      - name: Upload images to new branch main
        run: |
          git config --global user.email azul@nixtla.io
          git config --global user.name AzulGarza
          git push https://$GITHUB_TOKEN@github.com/nixtla/nixtla.git --delete docs-figs-model-performance || true
          git checkout -b docs-figs-model-performance
          git add -f "*.png"
          git commit -m "[cd] update png images" || echo "No changes to commit"
          git push https://$GITHUB_TOKEN@github.com/nixtla/nixtla.git HEAD:docs-figs-model-performance
