From 5b74de622ba35951f940747d09650ed74701deee Mon Sep 17 00:00:00 2001 From: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com> Date: Fri, 4 Apr 2025 16:35:15 -0500 Subject: [PATCH 1/9] run benchmarks from comment on pr (#19) --- .github/workflows/pr_comment_commands.yml | 86 +++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/.github/workflows/pr_comment_commands.yml b/.github/workflows/pr_comment_commands.yml index a20a5b15965d..c90897ef7f95 100644 --- a/.github/workflows/pr_comment_commands.yml +++ b/.github/workflows/pr_comment_commands.yml @@ -78,6 +78,92 @@ jobs: }); - name: Add reaction to comment + uses: actions/github-script@v7 + with: + script: | + await github.rest.reactions.createForIssueComment({ + owner: context.repo.owner, + repo: context.repo.repo, + comment_id: context.payload.comment.id, + content: 'rocket' + }); + + # Runs benchmarks on a PR branch when someone comments with `/benchmark benchmark1 benchmark2 ...` + run_benchmarks: + runs-on: ubuntu-latest + if: ${{ github.event_name == 'issue_comment' && github.event.issue.pull_request && startsWith(github.event.comment.body, '/benchmark') }} + steps: + - name: Parse benchmark arguments + id: parse + uses: actions/github-script@v7 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + // Extract benchmark names from comment + const comment = context.payload.comment.body.trim(); + const args = comment.split(/\s+/).slice(1); // Skip the command itself + + // If no benchmarks specified, default to a small set + const benchmarks = args.length > 0 ? args : ['tpch_mem', 'clickbench_partitioned']; + + return { + benchmarks: benchmarks + }; + result-encoding: json + + - name: Dispatch benchmarks for PR branch + uses: actions/github-script@v7 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + // Get PR details + const { data: pullRequest } = await github.rest.pulls.get({ + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: context.payload.issue.number + }); + + // Extract branch info + const branchName = pullRequest.head.ref; + const headSha = pullRequest.head.sha; + const baseBranch = pullRequest.base.ref; + + // Get the base branch HEAD SHA + const { data: baseRef } = await github.rest.git.getRef({ + owner: context.repo.owner, + repo: context.repo.repo, + ref: `heads/${baseBranch}` + }); + const baseSha = baseRef.object.sha; + + const benchmarks = ${{ toJSON(steps.parse.outputs.result) }}.benchmarks; + const commentId = context.payload.comment.id; + + // Comment to notify benchmark is starting + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.payload.issue.number, + body: `📊 Running the following benchmarks: ${benchmarks.join(', ')}\n\nComparing PR branch (\`${headSha.substring(0, 8)}\`) with base branch \`${baseBranch}\` (\`${baseSha.substring(0, 8)}\`)\n\nResults will be posted here when complete.` + }); + + // Create benchmark workflow file + await github.rest.actions.createWorkflowDispatch({ + owner: context.repo.owner, + repo: context.repo.repo, + workflow_id: 'pr_benchmarks.yml', + ref: branchName, + inputs: { + pr_number: context.payload.issue.number.toString(), + pr_head_sha: headSha, + base_branch: baseBranch, + base_sha: baseSha, + benchmarks: benchmarks.join(' '), + comment_id: commentId.toString() + } + }); + + - name: Add reaction to comment uses: actions/github-script@v7 with: script: | From d1fc164b9601a18be677d77f85f40252217ffeba Mon Sep 17 00:00:00 2001 From: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com> Date: Fri, 4 Apr 2025 16:40:31 -0500 Subject: [PATCH 2/9] fix benches --- .github/workflows/pr_comment_commands.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr_comment_commands.yml b/.github/workflows/pr_comment_commands.yml index c90897ef7f95..991372743007 100644 --- a/.github/workflows/pr_comment_commands.yml +++ b/.github/workflows/pr_comment_commands.yml @@ -136,7 +136,8 @@ jobs: }); const baseSha = baseRef.object.sha; - const benchmarks = ${{ toJSON(steps.parse.outputs.result) }}.benchmarks; + const benchmarksResult = JSON.parse('${{ toJSON(steps.parse.outputs.result) }}'); + const benchmarks = benchmarksResult.benchmarks; const commentId = context.payload.comment.id; // Comment to notify benchmark is starting From 0d299c11ea358fcf2d6854edd70d6ecec6eaabf4 Mon Sep 17 00:00:00 2001 From: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com> Date: Fri, 4 Apr 2025 16:41:48 -0500 Subject: [PATCH 3/9] fix --- .github/workflows/pr_comment_commands.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr_comment_commands.yml b/.github/workflows/pr_comment_commands.yml index 991372743007..1ad1c5037dd9 100644 --- a/.github/workflows/pr_comment_commands.yml +++ b/.github/workflows/pr_comment_commands.yml @@ -136,8 +136,8 @@ jobs: }); const baseSha = baseRef.object.sha; - const benchmarksResult = JSON.parse('${{ toJSON(steps.parse.outputs.result) }}'); - const benchmarks = benchmarksResult.benchmarks; + // Parse the result from the previous step + const benchmarks = ${{ steps.parse.outputs.result }}.benchmarks; const commentId = context.payload.comment.id; // Comment to notify benchmark is starting From 918bd0db77b0beccc875f8d8d200b732cd5ca94b Mon Sep 17 00:00:00 2001 From: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com> Date: Fri, 4 Apr 2025 16:43:57 -0500 Subject: [PATCH 4/9] add missing file --- .github/workflows/pr_benchmarks.yml | 240 ++++++++++++++++++++++++++++ 1 file changed, 240 insertions(+) create mode 100644 .github/workflows/pr_benchmarks.yml diff --git a/.github/workflows/pr_benchmarks.yml b/.github/workflows/pr_benchmarks.yml new file mode 100644 index 000000000000..3fddbf2fd350 --- /dev/null +++ b/.github/workflows/pr_benchmarks.yml @@ -0,0 +1,240 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +name: PR Benchmarks + +on: + workflow_dispatch: + inputs: + pr_number: + description: 'PR Number' + required: true + pr_head_sha: + description: 'PR Head SHA' + required: true + base_branch: + description: 'Base branch to compare against (usually main)' + required: true + default: 'main' + base_sha: + description: 'Exact SHA of base branch to compare against' + required: true + benchmarks: + description: 'Space-separated list of benchmarks to run' + required: true + default: 'tpch_mem clickbench_partitioned' + comment_id: + description: 'ID of the comment that triggered the benchmarks' + required: true + +permissions: + contents: read + pull-requests: write + +env: + RUST_BACKTRACE: 1 + CARGO_TERM_COLOR: always + +jobs: + benchmark: + name: Run PR Benchmarks + runs-on: ubuntu-latest-large + steps: + - name: Checkout PR branch + uses: actions/checkout@v4 + with: + ref: ${{ github.event.inputs.pr_head_sha }} + path: pr_branch + + - name: Checkout base branch + uses: actions/checkout@v4 + with: + ref: ${{ github.event.inputs.base_sha }} + path: base_branch + + - name: Install Python + uses: actions/setup-python@v5 + with: + python-version: '3.10' + cache: 'pip' + + - name: Setup Rust toolchain + uses: dtolnay/rust-toolchain@stable + with: + toolchain: stable + + - name: Generate benchmark data + run: | + # Run data generation for each benchmark + cd pr_branch/benchmarks + + # Parse benchmarks from input + IFS=' ' read -r -a BENCHMARKS <<< "${{ github.event.inputs.benchmarks }}" + + # Generate data for each benchmark + for benchmark in "${BENCHMARKS[@]}"; do + echo "Generating data for $benchmark..." + ./bench.sh data "$benchmark" + done + + - name: Run PR branch benchmarks + id: pr_benchmarks + run: | + # Navigate to PR branch + cd pr_branch/benchmarks + + # Parse benchmarks from input + IFS=' ' read -r -a BENCHMARKS <<< "${{ github.event.inputs.benchmarks }}" + + # Use the branch name as results name + BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD) + BRANCH_NAME=${BRANCH_NAME//\//_} + + # Run each benchmark + for benchmark in "${BENCHMARKS[@]}"; do + echo "Running $benchmark on PR branch..." + RESULTS_NAME="$BRANCH_NAME" ./bench.sh run "$benchmark" + done + + echo "pr_results_dir=pr_branch/benchmarks/results/$BRANCH_NAME" >> $GITHUB_OUTPUT + + - name: Run base branch benchmarks + id: base_benchmarks + run: | + # Navigate to base branch + cd base_branch/benchmarks + + # Parse benchmarks from input + IFS=' ' read -r -a BENCHMARKS <<< "${{ github.event.inputs.benchmarks }}" + + # Use 'base_branch' as results name + BRANCH_NAME="base_${BRANCH_NAME:-main}" + BRANCH_NAME=${BRANCH_NAME//\//_} + + # Run each benchmark + for benchmark in "${BENCHMARKS[@]}"; do + echo "Running $benchmark on base branch..." + RESULTS_NAME="$BRANCH_NAME" ./bench.sh run "$benchmark" + done + + echo "base_results_dir=base_branch/benchmarks/results/$BRANCH_NAME" >> $GITHUB_OUTPUT + + - name: Install comparison requirements + run: | + # Setup virtual environment with requirements + cd pr_branch/benchmarks + pip install -r requirements.txt + + - name: Compare benchmark results + id: compare + run: | + # Navigate to PR branch benchmark directory + cd pr_branch/benchmarks + + # Parse benchmarks from input + IFS=' ' read -r -a BENCHMARKS <<< "${{ github.event.inputs.benchmarks }}" + + # Initialize results variable + COMPARISON_RESULTS="" + + # Get the directory names + PR_RESULTS_DIR="${{ steps.pr_benchmarks.outputs.pr_results_dir }}" + BASE_RESULTS_DIR="${{ steps.base_benchmarks.outputs.base_results_dir }}" + + # For each benchmark, run comparison + for benchmark in "${BENCHMARKS[@]}"; do + echo "Comparing $benchmark results..." + + # Determine result file names based on benchmark + if [[ "$benchmark" == "tpch" ]]; then + RESULT_FILE="tpch_sf1.json" + elif [[ "$benchmark" == "tpch_mem" ]]; then + RESULT_FILE="tpch_mem_sf1.json" + elif [[ "$benchmark" == "tpch10" ]]; then + RESULT_FILE="tpch_sf10.json" + elif [[ "$benchmark" == "tpch_mem10" ]]; then + RESULT_FILE="tpch_mem_sf10.json" + elif [[ "$benchmark" == "clickbench_1" ]]; then + RESULT_FILE="clickbench_1.json" + elif [[ "$benchmark" == "clickbench_partitioned" ]]; then + RESULT_FILE="clickbench_partitioned.json" + elif [[ "$benchmark" == "clickbench_extended" ]]; then + RESULT_FILE="clickbench_extended.json" + elif [[ "$benchmark" == "imdb" ]]; then + RESULT_FILE="imdb.json" + elif [[ "$benchmark" == "external_aggr" ]]; then + RESULT_FILE="external_aggr.json" + elif [[ "$benchmark" == "sort_tpch" ]]; then + RESULT_FILE="sort_tpch.json" + else + RESULT_FILE="$benchmark.json" + fi + + # Check if both result files exist + if [[ -f "$PR_RESULTS_DIR/$RESULT_FILE" && -f "$BASE_RESULTS_DIR/$RESULT_FILE" ]]; then + # Run comparison and capture output + OUTPUT=$(python compare.py "$PR_RESULTS_DIR/$RESULT_FILE" "$BASE_RESULTS_DIR/$RESULT_FILE") + COMPARISON_RESULTS+="## $benchmark\n\n\`\`\`\n$OUTPUT\n\`\`\`\n\n" + else + COMPARISON_RESULTS+="## $benchmark\n\nResults not available for comparison.\n\n" + fi + done + + # Save comparison results to file for use in PR comment + echo -e "$COMPARISON_RESULTS" > /tmp/benchmark_comparison.txt + + - name: Post results as PR comment + uses: actions/github-script@v7 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const fs = require('fs'); + const pr_number = ${{ github.event.inputs.pr_number }}; + const pr_head_sha = '${{ github.event.inputs.pr_head_sha }}'; + const base_branch = '${{ github.event.inputs.base_branch }}'; + const base_sha = '${{ github.event.inputs.base_sha }}'; + const comment_id = ${{ github.event.inputs.comment_id }}; + + // Read comparison results + const comparisonText = fs.readFileSync('/tmp/benchmark_comparison.txt', 'utf8'); + + // Parse benchmarks from input + const benchmarks = '${{ github.event.inputs.benchmarks }}'.split(' '); + + // Create comment with results in collapsible sections + const comment = `## 📊 Benchmark Results + +
+ Expand for detailed results + + \${comparisonText} +
+ + Benchmarks run: \${benchmarks.join(', ')} + + Comparing PR branch (\`\${pr_head_sha.substring(0, 8)}\`) with base branch \`\${base_branch}\` (\`\${base_sha.substring(0, 8)}\`) + + Triggered by [this comment](https://github.com/\${context.repo.owner}/\${context.repo.repo}/pull/\${pr_number}#issuecomment-\${comment_id}) + `; + + // Post comment to PR + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: pr_number, + body: comment + }); \ No newline at end of file From 5c27cf55e047684b61e61e0f0053bcca62ff203e Mon Sep 17 00:00:00 2001 From: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com> Date: Fri, 4 Apr 2025 16:50:04 -0500 Subject: [PATCH 5/9] use ubuntu latest runner --- .github/workflows/pr_benchmarks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr_benchmarks.yml b/.github/workflows/pr_benchmarks.yml index 3fddbf2fd350..3ab6149aa8fa 100644 --- a/.github/workflows/pr_benchmarks.yml +++ b/.github/workflows/pr_benchmarks.yml @@ -52,7 +52,7 @@ env: jobs: benchmark: name: Run PR Benchmarks - runs-on: ubuntu-latest-large + runs-on: ubuntu-latest steps: - name: Checkout PR branch uses: actions/checkout@v4 From dcfbca3be30211a28a818fdd8dea97a66c1a32c9 Mon Sep 17 00:00:00 2001 From: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com> Date: Fri, 4 Apr 2025 20:19:32 -0500 Subject: [PATCH 6/9] edit script --- .github/workflows/pr_benchmarks.yml | 157 ++++++++-------------------- 1 file changed, 45 insertions(+), 112 deletions(-) diff --git a/.github/workflows/pr_benchmarks.yml b/.github/workflows/pr_benchmarks.yml index 3ab6149aa8fa..d772f0b62ee0 100644 --- a/.github/workflows/pr_benchmarks.yml +++ b/.github/workflows/pr_benchmarks.yml @@ -26,6 +26,9 @@ on: pr_head_sha: description: 'PR Head SHA' required: true + pr_branch: + description: 'PR Branch' + required: true base_branch: description: 'Base branch to compare against (usually main)' required: true @@ -79,123 +82,53 @@ jobs: - name: Generate benchmark data run: | - # Run data generation for each benchmark - cd pr_branch/benchmarks - - # Parse benchmarks from input - IFS=' ' read -r -a BENCHMARKS <<< "${{ github.event.inputs.benchmarks }}" + ### Command used to pre-warm (aka precompile) the directories + export CARGO_COMMAND="cargo run --release" - # Generate data for each benchmark - for benchmark in "${BENCHMARKS[@]}"; do - echo "Generating data for $benchmark..." - ./bench.sh data "$benchmark" - done - - - name: Run PR branch benchmarks - id: pr_benchmarks - run: | - # Navigate to PR branch + # start compiling the branch (in the background) cd pr_branch/benchmarks - - # Parse benchmarks from input - IFS=' ' read -r -a BENCHMARKS <<< "${{ github.event.inputs.benchmarks }}" - - # Use the branch name as results name - BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD) - BRANCH_NAME=${BRANCH_NAME//\//_} - - # Run each benchmark - for benchmark in "${BENCHMARKS[@]}"; do - echo "Running $benchmark on PR branch..." - RESULTS_NAME="$BRANCH_NAME" ./bench.sh run "$benchmark" - done - - echo "pr_results_dir=pr_branch/benchmarks/results/$BRANCH_NAME" >> $GITHUB_OUTPUT - - - name: Run base branch benchmarks - id: base_benchmarks - run: | - # Navigate to base branch + export BRANCH_NAME=`git rev-parse --abbrev-ref HEAD` + ${CARGO_COMMAND} --bin tpch >> build.log 2>&1 & + ${CARGO_COMMAND} --bin parquet >> build.log 2>&1 & + ${CARGO_COMMAND} --bin dfbench >> build.log 2>&1 & + popd cd base_branch/benchmarks - - # Parse benchmarks from input - IFS=' ' read -r -a BENCHMARKS <<< "${{ github.event.inputs.benchmarks }}" - - # Use 'base_branch' as results name - BRANCH_NAME="base_${BRANCH_NAME:-main}" - BRANCH_NAME=${BRANCH_NAME//\//_} - - # Run each benchmark + ${CARGO_COMMAND} --bin tpch >> build.log 2>&1 & + ${CARGO_COMMAND} --bin parquet >> build.log 2>&1 & + ${CARGO_COMMAND} --bin dfbench >> build.log 2>&1 & + popd + + # Wait for the compilation to finish + wait + # Check if the compilation was successful + if grep -q "error" build.log; then + echo "Compilation failed. Check build.log for details." + exit 1 + fi + echo "Compilation completed successfully." + + # Set up the benchmarks in the base branch + cd base_branch/benchmarks + # Download data for each benchmark for benchmark in "${BENCHMARKS[@]}"; do - echo "Running $benchmark on base branch..." - RESULTS_NAME="$BRANCH_NAME" ./bench.sh run "$benchmark" + echo "** Creating data if needed **" + ./bench.sh data $bench + echo "** Running $bench baseline (merge-base from main)... **" + export DATAFUSION_DIR=${GITHUB_WORKSPACE}/base_branch + ./bench.sh run $bench + ## Run against branch + echo "** Running $bench branch... **" + export DATAFUSION_DIR=${GITHUB_WORKSPACE}/pr_branch + ./bench.sh run $bench done - - echo "base_results_dir=base_branch/benchmarks/results/$BRANCH_NAME" >> $GITHUB_OUTPUT - - name: Install comparison requirements - run: | - # Setup virtual environment with requirements - cd pr_branch/benchmarks + ## Compare + rm -f /tmp/report.txt + export BENCH_BRANCH_NAME=${{ github.event.inputs.pr_branch }} # mind blowing syntax to replace / with _ + # Install requirements for comparison pip install -r requirements.txt - - - name: Compare benchmark results - id: compare - run: | - # Navigate to PR branch benchmark directory - cd pr_branch/benchmarks - - # Parse benchmarks from input - IFS=' ' read -r -a BENCHMARKS <<< "${{ github.event.inputs.benchmarks }}" - - # Initialize results variable - COMPARISON_RESULTS="" - - # Get the directory names - PR_RESULTS_DIR="${{ steps.pr_benchmarks.outputs.pr_results_dir }}" - BASE_RESULTS_DIR="${{ steps.base_benchmarks.outputs.base_results_dir }}" - - # For each benchmark, run comparison - for benchmark in "${BENCHMARKS[@]}"; do - echo "Comparing $benchmark results..." - - # Determine result file names based on benchmark - if [[ "$benchmark" == "tpch" ]]; then - RESULT_FILE="tpch_sf1.json" - elif [[ "$benchmark" == "tpch_mem" ]]; then - RESULT_FILE="tpch_mem_sf1.json" - elif [[ "$benchmark" == "tpch10" ]]; then - RESULT_FILE="tpch_sf10.json" - elif [[ "$benchmark" == "tpch_mem10" ]]; then - RESULT_FILE="tpch_mem_sf10.json" - elif [[ "$benchmark" == "clickbench_1" ]]; then - RESULT_FILE="clickbench_1.json" - elif [[ "$benchmark" == "clickbench_partitioned" ]]; then - RESULT_FILE="clickbench_partitioned.json" - elif [[ "$benchmark" == "clickbench_extended" ]]; then - RESULT_FILE="clickbench_extended.json" - elif [[ "$benchmark" == "imdb" ]]; then - RESULT_FILE="imdb.json" - elif [[ "$benchmark" == "external_aggr" ]]; then - RESULT_FILE="external_aggr.json" - elif [[ "$benchmark" == "sort_tpch" ]]; then - RESULT_FILE="sort_tpch.json" - else - RESULT_FILE="$benchmark.json" - fi - - # Check if both result files exist - if [[ -f "$PR_RESULTS_DIR/$RESULT_FILE" && -f "$BASE_RESULTS_DIR/$RESULT_FILE" ]]; then - # Run comparison and capture output - OUTPUT=$(python compare.py "$PR_RESULTS_DIR/$RESULT_FILE" "$BASE_RESULTS_DIR/$RESULT_FILE") - COMPARISON_RESULTS+="## $benchmark\n\n\`\`\`\n$OUTPUT\n\`\`\`\n\n" - else - COMPARISON_RESULTS+="## $benchmark\n\nResults not available for comparison.\n\n" - fi - done - - # Save comparison results to file for use in PR comment - echo -e "$COMPARISON_RESULTS" > /tmp/benchmark_comparison.txt + # Run the comparison script + ./bench.sh compare HEAD "${BENCH_BRANCH_NAME}" | tee -a /tmp/report.txt - name: Post results as PR comment uses: actions/github-script@v7 @@ -210,7 +143,7 @@ jobs: const comment_id = ${{ github.event.inputs.comment_id }}; // Read comparison results - const comparisonText = fs.readFileSync('/tmp/benchmark_comparison.txt', 'utf8'); + const comparisonText = fs.readFileSync('/tmp/report.txt', 'utf8'); // Parse benchmarks from input const benchmarks = '${{ github.event.inputs.benchmarks }}'.split(' '); @@ -230,7 +163,7 @@ jobs: Triggered by [this comment](https://github.com/\${context.repo.owner}/\${context.repo.repo}/pull/\${pr_number}#issuecomment-\${comment_id}) `; - + // Post comment to PR await github.rest.issues.createComment({ owner: context.repo.owner, From 27109ecbcf72f00306e5f4eb526a11c273a64c7c Mon Sep 17 00:00:00 2001 From: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com> Date: Fri, 4 Apr 2025 20:21:15 -0500 Subject: [PATCH 7/9] ci From d2ef65489638e1eca0a85217b4f70ea72cfafd60 Mon Sep 17 00:00:00 2001 From: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com> Date: Fri, 4 Apr 2025 20:22:21 -0500 Subject: [PATCH 8/9] fix --- .github/workflows/pr_comment_commands.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pr_comment_commands.yml b/.github/workflows/pr_comment_commands.yml index 1ad1c5037dd9..fcc644b22532 100644 --- a/.github/workflows/pr_comment_commands.yml +++ b/.github/workflows/pr_comment_commands.yml @@ -155,6 +155,7 @@ jobs: workflow_id: 'pr_benchmarks.yml', ref: branchName, inputs: { + pr_branch: branchName, pr_number: context.payload.issue.number.toString(), pr_head_sha: headSha, base_branch: baseBranch, From 04169854f6c7b4e65b64cfb5c4048391645c97e2 Mon Sep 17 00:00:00 2001 From: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com> Date: Fri, 4 Apr 2025 20:22:44 -0500 Subject: [PATCH 9/9] ci