name: codspeed-benchmarks

on:
  push:
    branches:
      - "main" # or "master"

  pull_request:
  # `workflow_dispatch` allows CodSpeed to trigger backtest
  # performance analysis in order to generate initial data.
  workflow_dispatch:

jobs:
  benchmarks:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: "3.12"

      - name: Install dependencies
        run: pip install ".[all]"

      - name: Run benchmarks
        uses: CodSpeedHQ/action@v3
        with:
          run: pytest benchmarks/ --codspeed
