Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

set -e

if [ "$#" -lt 9 ]; then
echo "Usage: ./get-job-json.sh <jobname> <fromServer> <fromVersion> <toServer> <toVersion> <timePrefix> <actorPrefix> <format> <issueNumber> <initBigRepo> <nomsBinFormat> <withTpcc>"
if [ "$#" -lt 10 ]; then
echo "Usage: ./get-job-json.sh <jobname> <fromServer> <fromVersion> <toServer> <toVersion> <timePrefix> <actorPrefix> <format> <issueNumber> <initBigRepo> <nomsBinFormat> <sysbenchTestTime> <withTpcc>"
exit 1
fi

Expand All @@ -18,7 +18,8 @@ format="$8"
issueNumber="$9"
initBigRepo="${10}"
nomsBinFormat="${11}"
withTpcc="${12}"
sysbenchTestTime="${12}"
withTpcc="${13}"
tpccRegex="tpcc%"

if [ -n "$initBigRepo" ]; then
Expand All @@ -29,6 +30,10 @@ if [ -n "$nomsBinFormat" ]; then
nomsBinFormat="\"--noms-bin-format=$nomsBinFormat\","
fi

if [ -n "$sysbenchTestTime" ]; then
sysbenchTestTime="\"--sysbenchTestTime=$sysbenchTestTime\","

Copilot AI Feb 6, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's an inconsistency in the flag name used. Line 34 uses --sysbenchTestTime (camelCase), but line 105 uses --sysbench-test-time (kebab-case). These should match. Based on the pattern used in other flags in this file (like --init-big-repo, --noms-bin-format, --issue-number), the kebab-case version on line 105 appears to be correct, so line 34 should use --sysbench-test-time instead.

Suggested change
sysbenchTestTime="\"--sysbenchTestTime=$sysbenchTestTime\","
sysbenchTestTime="\"--sysbench-test-time=$sysbenchTestTime\","

Copilot uses AI. Check for mistakes.
fi

if [ -n "$withTpcc" ]; then
withTpcc="\"--withTpcc=$withTpcc\","
fi
Expand Down Expand Up @@ -97,6 +102,7 @@ echo '
"--issue-number='$issueNumber'",
"--results-dir='$timePrefix'",
"--results-prefix='$actorPrefix'",
"--sysbench-test-time='$sysbenchTestTime'",
'"$withTpcc"'
'"$initBigRepo"'
'"$nomsBinFormat"'
Expand Down
27 changes: 14 additions & 13 deletions .github/scripts/performance-benchmarking/run-benchmarks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -104,19 +104,20 @@ source \
"$NOMS_BIN_FORMAT" > job.json
else
source \
"$TEMPLATE_SCRIPT" \
"$jobname" \
"$FROM_SERVER" \
"$FROM_VERSION" \
"$TO_SERVER" \
"$TO_VERSION" \
"$timeprefix" \
"$actorprefix" \
"$format" \
"$issuenumber" \
"$INIT_BIG_REPO" \
"$NOMS_BIN_FORMAT" \
"$WITH_TPCC" > job.json
"$TEMPLATE_SCRIPT" \
"$jobname" \
"$FROM_SERVER" \
"$FROM_VERSION" \
"$TO_SERVER" \
"$TO_VERSION" \
"$timeprefix" \
"$actorprefix" \
"$format" \
"$issuenumber" \
"$INIT_BIG_REPO" \
"$NOMS_BIN_FORMAT" \
"$SYSBENCH_TEST_TIME" \
"$WITH_TPCC" > job.json
fi

out=$(KUBECONFIG="$KUBECONFIG" kubectl apply -f job.json || true)
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/k8s-benchmark-latency.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ jobs:
KUBECONFIG: "./kubeconfig"
INIT_BIG_REPO: ${{ github.event.client_payload.init_big_repo }}
NOMS_BIN_FORMAT: ${{ matrix.dolt_fmt }}
SYSBENCH_TEST_TIME: ${{ github.event.client_payload.sysbench_test_time }}
TEMPLATE_SCRIPT: ${{ github.event.client_payload.template_script }}
- name: Create TPCC Performance Benchmarking K8s Job
run: ./.github/scripts/performance-benchmarking/run-benchmarks.sh
Expand Down
17 changes: 16 additions & 1 deletion .github/workflows/performance-benchmarks-pull-report.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ jobs:
if: ${{ needs.validate-commentor.outputs.valid == 'true' }}
outputs:
benchmark: ${{ steps.set_benchmark.outputs.benchmark }}
sysbench-test-time: ${{ steps.set_benchmark.outputs.sysbench-test-time }}

Copilot AI Feb 6, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The output references steps.set_benchmark.outputs.sysbench-test-time, but this output is only set in the set_benchmark_mini step (line 57), not in the set_benchmark step. When the regular benchmark trigger is used (without the mini variant), this output will be undefined. The reference should either be steps.set_benchmark_mini.outputs.sysbench-test-time or both steps should set this output.

Copilot uses AI. Check for mistakes.
comment-body: ${{ steps.set_body.outputs.body }}
steps:
- name: Check for Deploy Trigger
Expand All @@ -40,6 +41,20 @@ jobs:
id: set_benchmark
run: |
echo "benchmark=true" >> $GITHUB_OUTPUT
- name: Check for Deploy Mini Trigger
uses: dolthub/pull-request-comment-trigger@v2
id: check
with:
trigger: '#benchmark-mini'
reaction: rocket
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set Benchmark Mini
if: ${{ steps.check.outputs.triggered == 'true' }}

Copilot AI Feb 6, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This step has the same ID as the "Check for Deploy Trigger" step on line 33. Step IDs must be unique within a job. This should be changed to a unique ID like check_mini to avoid conflicts.

Suggested change
id: check
with:
trigger: '#benchmark-mini'
reaction: rocket
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set Benchmark Mini
if: ${{ steps.check.outputs.triggered == 'true' }}
id: check_mini
with:
trigger: '#benchmark-mini'
reaction: rocket
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set Benchmark Mini
if: ${{ steps.check_mini.outputs.triggered == 'true' }}

Copilot uses AI. Check for mistakes.

Copilot AI Feb 6, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This condition references steps.check.outputs.triggered, but because both "Check for Deploy Trigger" and "Check for Deploy Mini Trigger" steps use the same ID (check), this will reference the wrong step. After fixing the duplicate ID on line 46, this should be updated to reference the correct step ID (e.g., steps.check_mini.outputs.triggered).

Suggested change
id: check
with:
trigger: '#benchmark-mini'
reaction: rocket
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set Benchmark Mini
if: ${{ steps.check.outputs.triggered == 'true' }}
id: check_mini
with:
trigger: '#benchmark-mini'
reaction: rocket
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set Benchmark Mini
if: ${{ steps.check_mini.outputs.triggered == 'true' }}

Copilot uses AI. Check for mistakes.
id: set_benchmark_mini
run: |
echo "benchmark=true" >> $GITHUB_OUTPUT
echo "sysbench-test-time=10" >> $GITHUB_OUTPUT

performance:
runs-on: ubuntu-22.04
Expand All @@ -61,4 +76,4 @@ jobs:
with:
token: ${{ secrets.REPO_ACCESS_TOKEN }}
event-type: benchmark-latency
client-payload: '{"from_server": "dolt", "from_version": "${{ github.sha }}", "to_server": "dolt", "to_version": "${{ steps.comment-branch.outputs.head_sha }}", "mode": "pullRequest", "issue_number": "${{ steps.get_pull_number.outputs.pull_number }}", "init_big_repo": "true", "actor": "${{ github.actor }}", "template_script": "./.github/scripts/performance-benchmarking/get-dolt-dolt-job-json.sh"}'
client-payload: '{"from_server": "dolt", "from_version": "${{ github.sha }}", "to_server": "dolt", "to_version": "${{ steps.comment-branch.outputs.head_sha }}", "mode": "pullRequest", "issue_number": "${{ steps.get_pull_number.outputs.pull_number }}", "init_big_repo": "true", "actor": "${{ github.actor }}", "sysbench_test_time": "${{ steps.set_benchmark.outputs.sysbench-test-time }}", "template_script": "./.github/scripts/performance-benchmarking/get-dolt-dolt-job-json.sh"}'

Copilot AI Feb 6, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This references steps.set_benchmark.outputs.sysbench-test-time, but this code is in the performance job, not the check-comments job where the steps are defined. This should reference the job output instead: needs.check-comments.outputs.sysbench-test-time.

Copilot uses AI. Check for mistakes.
Loading