name: Benchmark Models

on:
  workflow_dispatch: {}
  pull_request:
    paths:
      - ".github/workflows/benchmark-hf.yml"
      - ".github/run-benchmark-as-lit-jobs.py"
  push: # enable tracing which commit to master broke it...
    branches: [main]

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

defaults:
  run:
    shell: bash

jobs:
  launcher-benchmark:
    runs-on: "ubuntu-22.04"

    steps:
      - uses: actions/checkout@v5

      - uses: actions/setup-python@v6
        with:
          python-version: "3.10"

      - name: Build Thunder Package
        run: |
          pip install -U build
          python -m build --sdist --wheel --outdir dist/
          ls -l dist/

      - name: Launch Benchmark Job in Lightning Studio
        env:
          LIGHTNING_USER_ID: ${{ secrets.LIGHTNING_USER_ID }}
          LIGHTNING_API_KEY: ${{ secrets.LIGHTNING_API_KEY }}
        run: |
          pip install lightning_sdk -U -q
          python .github/run-benchmark-as-lit-jobs.py ${{ github.run_id }}

      - name: Post Slack Notification
        if: always() && github.event_name != 'pull_request'
        uses: act10ns/slack@v2
        with:
          webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }}
          status: ${{ job.status }}
          message: |
            *Benchmark Triggered Manually* - [${{ job.status }}]
            ref: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
