gitv-tui 0.4.5

A terminal-based GitHub client built with Rust and Ratatui.
name: Benchmarks

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

permissions:
  contents: read

jobs:
  bench:
    if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && vars.BENCHER_PROJECT != '' }}
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
        with:
          persist-credentials: false
      - uses: dtolnay/rust-toolchain@stable
      - name: Install native deps
        run: |
          sudo apt-get update
          sudo apt-get install -y pkg-config libdbus-1-dev
      - uses: Swatinem/rust-cache@v2
        with:
          save-if: ${{ github.ref == 'refs/heads/main' }}
      - uses: bencherdev/bencher@main
      - run: |
          bencher run \
            --project ${{ vars.BENCHER_PROJECT }} \
            --token ${{ secrets.BENCHER_API_TOKEN }} \
            --branch main \
            --adapter rust_criterion \
            "cargo bench --all-features"

  bench-pr:
    if: ${{ github.event_name == 'pull_request' && vars.BENCHER_PROJECT != '' }}
    runs-on: ubuntu-latest
    permissions:
      pull-requests: write
    steps:
      - uses: actions/checkout@v7
        with:
          persist-credentials: false
      - uses: dtolnay/rust-toolchain@stable
      - name: Install native deps
        run: |
          sudo apt-get update
          sudo apt-get install -y pkg-config libdbus-1-dev
      - uses: Swatinem/rust-cache@v2
        with:
          save-if: ${{ github.ref == 'refs/heads/main' }}
      - uses: bencherdev/bencher@main
      - run: |
          bencher run \
            --project ${{ vars.BENCHER_PROJECT }} \
            --token ${{ secrets.BENCHER_API_TOKEN }} \
            --branch ${{ github.head_ref }} \
            --start-point main \
            --start-point-reset \
            --adapter rust_criterion \
            --error-on-alert \
            --github-actions ${{ secrets.GITHUB_TOKEN }} \
            "cargo bench --all-features"