Skip to content

Commit 45dffe5

Browse files
committed
c_ext_benchmarks: Generate and store benchmark diffs
1 parent 9618cb9 commit 45dffe5

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

.circleci/config.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1234,16 +1234,65 @@ jobs:
12341234
- checkout
12351235
- attach_workspace:
12361236
at: .
1237+
- run:
1238+
name: Install dependencies of helper scripts
1239+
command: |
1240+
sudo apt update
1241+
sudo apt install python3-pip --assume-yes --no-install-recommends
1242+
python3 -m pip install requests --user
12371243
- run:
12381244
name: Combine benchmark reports
12391245
command: cat reports/externalTests/benchmark-*.json | scripts/externalTests/merge_benchmarks.sh > reports/externalTests/all-benchmarks.json
12401246
- run:
12411247
name: Summarize reports
12421248
command: cat reports/externalTests/all-benchmarks.json | scripts/externalTests/summarize_benchmarks.sh > reports/externalTests/summarized-benchmarks.json
1249+
- run:
1250+
name: Download reports from base branch
1251+
command: |
1252+
if [[ $CIRCLE_PULL_REQUEST != "" ]]; then
1253+
mkdir reports/externalTests/base-branch/
1254+
cd reports/externalTests/base-branch/
1255+
1256+
pr_id=$(echo "$CIRCLE_PULL_REQUEST" | sed 's|\(.*\)\/||')
1257+
scripts_dir=../../../scripts
1258+
1259+
"${scripts_dir}/externalTests/download_benchmarks.py" --base-of-pr "$pr_id"
1260+
fi
1261+
- run:
1262+
name: Diff benchmarks
1263+
command: |
1264+
if [[ $CIRCLE_PULL_REQUEST != "" ]]; then
1265+
cd reports/externalTests/
1266+
mkdir diff/
1267+
scripts_dir=../../scripts
1268+
1269+
"${scripts_dir}/externalTests/benchmark_diff.py" table \
1270+
--output-format markdown \
1271+
--style humanized \
1272+
base-branch/summarized-benchmarks-*.json \
1273+
summarized-benchmarks.json > diff/benchmark-diff-summarized-table-markdown-humanized.md
1274+
"${scripts_dir}/externalTests/benchmark_diff.py" table \
1275+
--output-format markdown \
1276+
--style absolute \
1277+
base-branch/summarized-benchmarks-*.json \
1278+
summarized-benchmarks.json > diff/benchmark-diff-summarized-table-markdown-absolute.md
1279+
"${scripts_dir}/externalTests/benchmark_diff.py" inplace \
1280+
--style absolute \
1281+
base-branch/summarized-benchmarks-*.json \
1282+
summarized-benchmarks.json > diff/benchmark-diff-summarized-inplace-absolute.md
1283+
"${scripts_dir}/externalTests/benchmark_diff.py" inplace \
1284+
--style absolute \
1285+
base-branch/all-benchmarks-*.json \
1286+
all-benchmarks.json > diff/benchmark-diff-all-table-inplace-absolute.md
1287+
fi
12431288
- store_artifacts:
12441289
path: reports/externalTests/all-benchmarks.json
12451290
- store_artifacts:
12461291
path: reports/externalTests/summarized-benchmarks.json
1292+
- store_artifacts:
1293+
path: reports/externalTests/diff/
1294+
- store_artifacts:
1295+
path: reports/externalTests/base-branch/
12471296

12481297
b_win: &b_win
12491298
<<: *base_win_powershell_large

0 commit comments

Comments
 (0)