@ 261107.5
current
name: Benchmarks

on:
  push:
    branches:
     - main
     - current
     - next
     - 'v*'
  pull_request:

permissions:
  contents: read

jobs:
  benchmark_current:
    name: benchmark current
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
        with:
          persist-credentials: false
          ref: ${{ github.base_ref }}
      - name: Setup Node
        uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
        with:
          node-version: 'lts/*'
      - name: Install Modules for undici
        run: npm i --ignore-scripts --omit=dev
      - name: Install Modules for Benchmarks
        run: npm i
        working-directory: ./benchmarks
      - name: Run Benchmark
        run: npm run bench
        working-directory: ./benchmarks

  benchmark_branch:
    name: benchmark branch
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
        with:
          persist-credentials: false
      - name: Setup Node
        uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
        with:
          node-version: 'lts/*'
      - name: Install Modules for undici
        run: npm i --ignore-scripts --omit=dev
      - name: Install Modules for Benchmarks
        run: npm i
        working-directory: ./benchmarks
      - name: Run Benchmark
        run: npm run bench
        working-directory: ./benchmarks

  benchmark_post_current:
    name: benchmark (sending data) current
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
        with:
          persist-credentials: false
          ref: ${{ github.base_ref }}
      - name: Setup Node
        uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
        with:
          node-version: 'lts/*'
      - name: Install Modules for undici
        run: npm i --ignore-scripts --omit=dev
      - name: Install Modules for Benchmarks
        run: npm i
        working-directory: ./benchmarks
      - name: Run Benchmark
        run: npm run bench-post
        working-directory: ./benchmarks

  benchmark_post_branch:
    name: benchmark (sending data) branch
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
        with:
          persist-credentials: false
      - name: Setup Node
        uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
        with:
          node-version: 'lts/*'
      - name: Install Modules for undici
        run: npm i --ignore-scripts --omit=dev
      - name: Install Modules for Benchmarks
        run: npm i
        working-directory: ./benchmarks
      - name: Run Benchmark
        run: npm run bench-post
        working-directory: ./benchmarks

  benchmark_current_h2:
    name: benchmark current h2
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
        with:
          persist-credentials: false
          ref: ${{ github.base_ref }}
      - name: Setup Node
        uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
        with:
          node-version: 'lts/*'
      - name: Install Modules for undici
        run: npm i --ignore-scripts --omit=dev
      - name: Install Modules for Benchmarks
        run: npm i
        working-directory: ./benchmarks
      - name: Run Benchmark
        run: npm run bench:h2
        working-directory: ./benchmarks

  benchmark_branch_h2:
    name: benchmark branch h2
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
        with:
          persist-credentials: false
      - name: Setup Node
        uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
        with:
          node-version: 'lts/*'
      - name: Install Modules for undici
        run: npm i --ignore-scripts --omit=dev
      - name: Install Modules for Benchmarks
        run: npm i
        working-directory: ./benchmarks
      - name: Run Benchmark
        run: npm run bench:h2
        working-directory: ./benchmarks