map2fig 0.7.7

Fast, publication-quality HEALPix sky map visualization in Rust
Documentation
name: Benchmarks

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  benchmark:
    name: Performance Regression Detection
    runs-on: ubuntu-latest
    timeout-minutes: 60
    
    steps:
      - uses: actions/checkout@v4
      
      - uses: dtolnay/rust-toolchain@stable
      
      - uses: Swatinem/rust-cache@v2
      
      - name: Install dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y libcairo2-dev libpango1.0-dev libglib2.0-dev
      
      - name: Build optimized binary
        run: cargo build --release
        env:
          RUSTFLAGS: -D warnings
      
      # Criterion benchmarks (detailed, HTML reports)
      - name: Run Criterion micro-benchmarks
        run: cargo bench --bench criterion_benchmarks -- --verbose
        env:
          RUSTFLAGS: -D warnings
        continue-on-error: true
      
      # Divan benchmarks (quick, cycle-accurate)
      - name: Run Divan micro-benchmarks
        run: cargo bench --bench divan_benchmarks
        env:
          RUSTFLAGS: -D warnings
        continue-on-error: true
      
      # Upload benchmark results
      - name: Upload Criterion HTML reports
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: criterion-reports
          path: target/criterion
      
      # Note: Bencher integration disabled due to API changes
      # The current main branch only accepts 'version' input parameter
      # Previous inputs (project-slug, token, testbed-slug, etc.) are deprecated