name: asv benchmarks

on:
  push:
    branches: [latest]
  pull_request:
  schedule:
    - cron: "0 0 * * *" # daily

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v6
      with:
        fetch-depth: 0

    - name: make latest branch available
      run: |
        git checkout latest
        git checkout -

    - name: Set up Python 3.11
      uses: actions/setup-python@v6
      with:
        python-version: "3.11"

    - uses: dtolnay/rust-toolchain@stable

    - uses: Swatinem/rust-cache@v2

    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install tox

    - name: Runs benchmarks against latest
      run: tox -e asv
