From 812d39a109989c510545929c5d6646ddf947ace1 Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Wed, 23 Apr 2025 14:54:39 +0200 Subject: [PATCH 01/22] force shared worker run --- .github/workflows/benchmark.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 8544abef39..abc30d8e36 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -25,10 +25,10 @@ jobs: # If we're running on a PR, use ubuntu-latest - a shared runner. We can't use the self-hosted # runners on arbitrary PRs, and we don't want to unleash that load on the pool anyway. # If we're running on main, use the OTEL self-hosted runner pool. - - # TODO - temporarily move main to the shared workers, until we've resolved the instance setup issue + + # TODO - temporarily use self-hosted to get shared-worker environment going + runs-on: 'self-hosted' # runs-on: ${{ github.event_name == 'pull_request' && 'ubuntu-latest' || 'self-hosted' }} - runs-on: 'ubuntu-latest' if: ${{ (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'performance')) || github.event_name == 'push' }} env: # For PRs, compare against the base branch - e.g., 'main'. From 55f81d05d0311b63ad389e86902025698cb1be12 Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Wed, 23 Apr 2025 14:55:15 +0200 Subject: [PATCH 02/22] bump --- .github/workflows/benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index abc30d8e36..edd6882bab 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -25,7 +25,7 @@ jobs: # If we're running on a PR, use ubuntu-latest - a shared runner. We can't use the self-hosted # runners on arbitrary PRs, and we don't want to unleash that load on the pool anyway. # If we're running on main, use the OTEL self-hosted runner pool. - + # # TODO - temporarily use self-hosted to get shared-worker environment going runs-on: 'self-hosted' # runs-on: ${{ github.event_name == 'pull_request' && 'ubuntu-latest' || 'self-hosted' }} From 5d8879c7e34ec363fd9e5f3b01d21da392765d57 Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Wed, 23 Apr 2025 19:54:58 +0200 Subject: [PATCH 03/22] :prayers: --- .github/workflows/benchmark.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index edd6882bab..c7f3349c68 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -12,6 +12,7 @@ on: push: branches: - main + - dependabot/scottgerring/benchmark-fix name: benchmark pull requests permissions: contents: read From 5bec647f14e3b1acda82b0279ba3ea0652608868 Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Thu, 24 Apr 2025 07:52:05 +0200 Subject: [PATCH 04/22] Let's try guess where unzip is --- .github/workflows/benchmark.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index c7f3349c68..7c74b06df4 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -44,6 +44,26 @@ jobs: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 10 # Fetch current commit and its parent + + - name: Detect OS and attempt unzip installation + run: | + echo "Detecting OS..." + if [ -f /etc/os-release ]; then + . /etc/os-release + echo "Detected OS: $NAME ($ID)" + else + echo "/etc/os-release not found – cannot detect OS" + fi + + echo "Trying to install unzip..." + sudo apt-get update && sudo apt-get install -y unzip || \ + sudo yum install -y unzip || \ + sudo dnf install -y unzip || \ + sudo pacman -Sy --noconfirm unzip || \ + sudo apk add unzip || \ + sudo zypper install -y unzip || \ + true + - uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0 with: repo-token: ${{ secrets.GITHUB_TOKEN }} From 670112756b819f8c2310cc0833bab1138fd83450 Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Thu, 24 Apr 2025 07:55:55 +0200 Subject: [PATCH 05/22] maybe protocs already there? --- .github/workflows/benchmark.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 7c74b06df4..a3fbe60c60 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -64,9 +64,9 @@ jobs: sudo zypper install -y unzip || \ true - - uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} + # - uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0 + # with: + # repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: dtolnay/rust-toolchain@56f84321dbccf38fb67ce29ab63e4754056677e0 with: toolchain: stable From 9aa6bc536c4ab555eba1d3864e9453cb5aae930a Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Thu, 24 Apr 2025 08:04:32 +0200 Subject: [PATCH 06/22] try docker it --- .github/workflows/benchmark.yml | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index a3fbe60c60..3d25af619c 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -45,25 +45,19 @@ jobs: with: fetch-depth: 10 # Fetch current commit and its parent - - name: Detect OS and attempt unzip installation + - name: Run benchmark inside Docker run: | - echo "Detecting OS..." - if [ -f /etc/os-release ]; then - . /etc/os-release - echo "Detected OS: $NAME ($ID)" - else - echo "/etc/os-release not found – cannot detect OS" - fi - - echo "Trying to install unzip..." - sudo apt-get update && sudo apt-get install -y unzip || \ - sudo yum install -y unzip || \ - sudo dnf install -y unzip || \ - sudo pacman -Sy --noconfirm unzip || \ - sudo apk add unzip || \ - sudo zypper install -y unzip || \ - true - + docker run --rm \ + -v "$PWD":/workspace \ + -w /workspace \ + rust:slim-bullseye \ + bash -c " + apt-get update && apt-get install -y unzip cmake build-essential pkg-config curl git && \ + cargo install cargo-criterion && \ + cargo bench && \ + echo 'Benchmark run complete inside Docker container' + " + # - uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0 # with: # repo-token: ${{ secrets.GITHUB_TOKEN }} From 9ba0b90d6736d14f9131105f6dd963b4f8020a20 Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Fri, 20 Jun 2025 09:37:52 +0200 Subject: [PATCH 07/22] switch to new runners --- .github/workflows/benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 3d25af619c..28ab36aeb8 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -28,7 +28,7 @@ jobs: # If we're running on main, use the OTEL self-hosted runner pool. # # TODO - temporarily use self-hosted to get shared-worker environment going - runs-on: 'self-hosted' + runs-on: 'oracle-bare-metal-64cpu-512gb-x86-64' # runs-on: ${{ github.event_name == 'pull_request' && 'ubuntu-latest' || 'self-hosted' }} if: ${{ (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'performance')) || github.event_name == 'push' }} env: From f84257ef6c58306274fb7ec9c6a9e537f97eaeec Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Fri, 20 Jun 2025 09:42:03 +0200 Subject: [PATCH 08/22] more flags --- .github/workflows/benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 28ab36aeb8..2419677249 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -52,7 +52,7 @@ jobs: -w /workspace \ rust:slim-bullseye \ bash -c " - apt-get update && apt-get install -y unzip cmake build-essential pkg-config curl git && \ + apt-get update && apt-get install --fix-missing -y unzip cmake build-essential pkg-config curl git && \ cargo install cargo-criterion && \ cargo bench && \ echo 'Benchmark run complete inside Docker container' From 27b5bcdafd645ffcf8bcd8f7a7388bf9fc2f959c Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Fri, 20 Jun 2025 09:53:06 +0200 Subject: [PATCH 09/22] containerised --- .github/workflows/benchmark.yml | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 2419677249..bae77d4273 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -31,6 +31,8 @@ jobs: runs-on: 'oracle-bare-metal-64cpu-512gb-x86-64' # runs-on: ${{ github.event_name == 'pull_request' && 'ubuntu-latest' || 'self-hosted' }} if: ${{ (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'performance')) || github.event_name == 'push' }} + container: + image: rust:slim-bullseye env: # For PRs, compare against the base branch - e.g., 'main'. # For pushes to main, compare against the previous commit @@ -45,22 +47,19 @@ jobs: with: fetch-depth: 10 # Fetch current commit and its parent - - name: Run benchmark inside Docker + - name: Setup container environment run: | - docker run --rm \ - -v "$PWD":/workspace \ - -w /workspace \ - rust:slim-bullseye \ - bash -c " - apt-get update && apt-get install --fix-missing -y unzip cmake build-essential pkg-config curl git && \ - cargo install cargo-criterion && \ - cargo bench && \ - echo 'Benchmark run complete inside Docker container' - " + apt-get update && apt-get install --fix-missing -y unzip cmake build-essential pkg-config curl git + cargo install cargo-criterion + + - name: Run benchmark + run: | + cargo bench + echo 'Benchmark run complete' - # - uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0 - # with: - # repo-token: ${{ secrets.GITHUB_TOKEN }} + - uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: dtolnay/rust-toolchain@56f84321dbccf38fb67ce29ab63e4754056677e0 with: toolchain: stable From eda92b9f33e57b5d653ae2dc25e3b28481392a3a Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Fri, 20 Jun 2025 10:20:07 +0200 Subject: [PATCH 10/22] . --- .github/workflows/benchmark.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index bae77d4273..ba1801ebdc 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -37,6 +37,7 @@ jobs: # For PRs, compare against the base branch - e.g., 'main'. # For pushes to main, compare against the previous commit BRANCH_NAME: ${{ github.event_name == 'pull_request' && github.base_ref || github.event.before }} + GIT_DISCOVERY_ACROSS_FILESYSTEM: 2 steps: - name: Harden the runner (Audit all outbound calls) uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1 From 92d35dc4c368c46ff84dee20daaf5d7bc9442f90 Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Fri, 20 Jun 2025 11:01:53 +0200 Subject: [PATCH 11/22] debug --- .github/workflows/benchmark.yml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index ba1801ebdc..fdefe27039 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -12,7 +12,7 @@ on: push: branches: - main - - dependabot/scottgerring/benchmark-fix + # - dependabot/scottgerring/benchmark-fix name: benchmark pull requests permissions: contents: read @@ -46,7 +46,10 @@ jobs: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: - fetch-depth: 10 # Fetch current commit and its parent + fetch-depth: 0 # Fetch full history for git-based tools + + - name: Make repo safe for Git inside container + run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - name: Setup container environment run: | @@ -57,13 +60,22 @@ jobs: run: | cargo bench echo 'Benchmark run complete' - + + - name: Debug Git state (optional) + run: | + echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE" + ls -alh "$GITHUB_WORKSPACE/.git" || echo ".git not found" + git rev-parse HEAD || echo "Not a git repo" + - uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0 with: repo-token: ${{ secrets.GITHUB_TOKEN }} + - uses: dtolnay/rust-toolchain@56f84321dbccf38fb67ce29ab63e4754056677e0 with: toolchain: stable + - uses: boa-dev/criterion-compare-action@adfd3a94634fe2041ce5613eb7df09d247555b87 # v3.2.4 with: + cwd: opentelemetry-appender-tracing # TEMP - make the run shorter for now branchName: ${{ env.BRANCH_NAME }} From 18f5d3d23e9fe0d40c9b3db18ca1bbb33cacb656 Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Fri, 20 Jun 2025 11:02:46 +0200 Subject: [PATCH 12/22] . --- .github/workflows/benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index fdefe27039..f11dbc6f08 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -12,7 +12,7 @@ on: push: branches: - main - # - dependabot/scottgerring/benchmark-fix + - dependabot/scottgerring/benchmark-fix name: benchmark pull requests permissions: contents: read From cac1e05036f1ea4a077713f390e4555884e77936 Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Fri, 20 Jun 2025 11:17:23 +0200 Subject: [PATCH 13/22] . --- .github/workflows/benchmark.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index f11dbc6f08..4453160ee5 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -37,7 +37,7 @@ jobs: # For PRs, compare against the base branch - e.g., 'main'. # For pushes to main, compare against the previous commit BRANCH_NAME: ${{ github.event_name == 'pull_request' && github.base_ref || github.event.before }} - GIT_DISCOVERY_ACROSS_FILESYSTEM: 2 + GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 steps: - name: Harden the runner (Audit all outbound calls) uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1 @@ -48,14 +48,14 @@ jobs: with: fetch-depth: 0 # Fetch full history for git-based tools - - name: Make repo safe for Git inside container - run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - - name: Setup container environment run: | apt-get update && apt-get install --fix-missing -y unzip cmake build-essential pkg-config curl git cargo install cargo-criterion + - name: Make repo safe for Git inside container + run: git config --global --add safe.directory "$GITHUB_WORKSPACE" + - name: Run benchmark run: | cargo bench From 141e2975327534603a54f11c4ffb99e7cb2c12fc Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Fri, 20 Jun 2025 11:30:00 +0200 Subject: [PATCH 14/22] . --- .github/workflows/benchmark.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 4453160ee5..f31f7f4d2d 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -44,10 +44,6 @@ jobs: with: egress-policy: audit - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - fetch-depth: 0 # Fetch full history for git-based tools - - name: Setup container environment run: | apt-get update && apt-get install --fix-missing -y unzip cmake build-essential pkg-config curl git @@ -56,6 +52,10 @@ jobs: - name: Make repo safe for Git inside container run: git config --global --add safe.directory "$GITHUB_WORKSPACE" + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + fetch-depth: 0 # Fetch full history for git-based tools + - name: Run benchmark run: | cargo bench From bb95513be01bc880cd40654beed6b47c12d9fd99 Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Fri, 20 Jun 2025 11:49:04 +0200 Subject: [PATCH 15/22] previous commit worked - clean up --- .github/workflows/benchmark.yml | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index f31f7f4d2d..cdc5b5ca8c 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -49,24 +49,13 @@ jobs: apt-get update && apt-get install --fix-missing -y unzip cmake build-essential pkg-config curl git cargo install cargo-criterion - - name: Make repo safe for Git inside container - run: git config --global --add safe.directory "$GITHUB_WORKSPACE" + # - name: Make repo safe for Git inside container + # run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 0 # Fetch full history for git-based tools - - name: Run benchmark - run: | - cargo bench - echo 'Benchmark run complete' - - - name: Debug Git state (optional) - run: | - echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE" - ls -alh "$GITHUB_WORKSPACE/.git" || echo ".git not found" - git rev-parse HEAD || echo "Not a git repo" - - uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0 with: repo-token: ${{ secrets.GITHUB_TOKEN }} From f86a3cf26607d71d8693ca88a9a28dfc70f1c424 Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Fri, 20 Jun 2025 11:52:13 +0200 Subject: [PATCH 16/22] fix - we need safe.directory --- .github/workflows/benchmark.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index cdc5b5ca8c..97f25de553 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -49,8 +49,8 @@ jobs: apt-get update && apt-get install --fix-missing -y unzip cmake build-essential pkg-config curl git cargo install cargo-criterion - # - name: Make repo safe for Git inside container - # run: git config --global --add safe.directory "$GITHUB_WORKSPACE" + - name: Make repo safe for Git inside container + run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: From 0ab43bbf76ae449f9b11837637f0b40b53266c6b Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Fri, 20 Jun 2025 12:02:21 +0200 Subject: [PATCH 17/22] Run full suite; --- .github/workflows/benchmark.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 97f25de553..1841d3b362 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -23,9 +23,8 @@ jobs: permissions: pull-requests: write - # If we're running on a PR, use ubuntu-latest - a shared runner. We can't use the self-hosted - # runners on arbitrary PRs, and we don't want to unleash that load on the pool anyway. - # If we're running on main, use the OTEL self-hosted runner pool. + # If we're running on main, use our oracle bare-metal runner for accuracy. + # If we're running on a PR, use github's shared workers to save resources. # # TODO - temporarily use self-hosted to get shared-worker environment going runs-on: 'oracle-bare-metal-64cpu-512gb-x86-64' @@ -66,5 +65,4 @@ jobs: - uses: boa-dev/criterion-compare-action@adfd3a94634fe2041ce5613eb7df09d247555b87 # v3.2.4 with: - cwd: opentelemetry-appender-tracing # TEMP - make the run shorter for now branchName: ${{ env.BRANCH_NAME }} From d1a67054cd1fd65c1ec68ac8a057a19c29f78f89 Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Fri, 20 Jun 2025 13:06:47 +0200 Subject: [PATCH 18/22] Now! Switch the runs-on back --- .github/workflows/benchmark.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 1841d3b362..3b9d759b53 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -26,9 +26,7 @@ jobs: # If we're running on main, use our oracle bare-metal runner for accuracy. # If we're running on a PR, use github's shared workers to save resources. # - # TODO - temporarily use self-hosted to get shared-worker environment going - runs-on: 'oracle-bare-metal-64cpu-512gb-x86-64' - # runs-on: ${{ github.event_name == 'pull_request' && 'ubuntu-latest' || 'self-hosted' }} + runs-on: ${{ github.event_name == 'pull_request' && 'ubuntu-latest' || 'oracle-bare-metal-64cpu-512gb-x86-64' }} if: ${{ (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'performance')) || github.event_name == 'push' }} container: image: rust:slim-bullseye @@ -53,7 +51,7 @@ jobs: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: - fetch-depth: 0 # Fetch full history for git-based tools + fetch-depth: 10 # Fetch a bit of history so we can do perf diffs - uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0 with: From 6e6abf923c68822fd38bfb4d8c4c24bf570b2769 Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Fri, 20 Jun 2025 13:21:08 +0200 Subject: [PATCH 19/22] force shared workers to test --- .github/workflows/benchmark.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 3b9d759b53..75bd9c48dd 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -25,8 +25,8 @@ jobs: # If we're running on main, use our oracle bare-metal runner for accuracy. # If we're running on a PR, use github's shared workers to save resources. - # - runs-on: ${{ github.event_name == 'pull_request' && 'ubuntu-latest' || 'oracle-bare-metal-64cpu-512gb-x86-64' }} + runs-on: "ubuntu-latest" + # runs-on: ${{ github.event_name == 'pull_request' && 'ubuntu-latest' || 'oracle-bare-metal-64cpu-512gb-x86-64' }} if: ${{ (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'performance')) || github.event_name == 'push' }} container: image: rust:slim-bullseye From dfe4c16111dd92a1fc5bff29925fe264b3bef451 Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Fri, 20 Jun 2025 13:49:39 +0200 Subject: [PATCH 20/22] remove unecessary rust setup --- .github/workflows/benchmark.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 75bd9c48dd..90c165f7b5 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -57,10 +57,6 @@ jobs: with: repo-token: ${{ secrets.GITHUB_TOKEN }} - - uses: dtolnay/rust-toolchain@56f84321dbccf38fb67ce29ab63e4754056677e0 - with: - toolchain: stable - - uses: boa-dev/criterion-compare-action@adfd3a94634fe2041ce5613eb7df09d247555b87 # v3.2.4 with: branchName: ${{ env.BRANCH_NAME }} From f87e3055c20d676a8843509952fae326a499074f Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Fri, 20 Jun 2025 14:34:13 +0200 Subject: [PATCH 21/22] it runs everywhere; that should be it --- .github/workflows/benchmark.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 90c165f7b5..27fd428ecf 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -25,8 +25,7 @@ jobs: # If we're running on main, use our oracle bare-metal runner for accuracy. # If we're running on a PR, use github's shared workers to save resources. - runs-on: "ubuntu-latest" - # runs-on: ${{ github.event_name == 'pull_request' && 'ubuntu-latest' || 'oracle-bare-metal-64cpu-512gb-x86-64' }} + runs-on: ${{ github.event_name == 'pull_request' && 'ubuntu-latest' || 'oracle-bare-metal-64cpu-512gb-x86-64' }} if: ${{ (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'performance')) || github.event_name == 'push' }} container: image: rust:slim-bullseye From b0b692a12cfb36fc20757ff600e4d6317a1303ff Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Fri, 20 Jun 2025 15:28:33 +0200 Subject: [PATCH 22/22] remove cruft --- .github/workflows/benchmark.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 27fd428ecf..e9535cca7a 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -12,11 +12,9 @@ on: push: branches: - main - - dependabot/scottgerring/benchmark-fix name: benchmark pull requests permissions: contents: read - jobs: runBenchmark: name: run benchmark