Skip to content

Commit 0fea909

Browse files
committed
c_ext_benchmarks: Generate and store benchmark diffs
1 parent 09409db commit 0fea909

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

.circleci/config.yml

+49
Original file line numberDiff line numberDiff line change
@@ -1230,16 +1230,65 @@ jobs:
12301230
- checkout
12311231
- attach_workspace:
12321232
at: .
1233+
- run:
1234+
name: Install dependencies of helper scripts
1235+
command: |
1236+
sudo apt update
1237+
sudo apt install python3-pip --assume-yes --no-install-recommends
1238+
python3 -m pip install requests --user
12331239
- run:
12341240
name: Combine benchmark reports
12351241
command: cat reports/externalTests/benchmark-*.json | scripts/externalTests/merge_benchmarks.sh > reports/externalTests/all-benchmarks.json
12361242
- run:
12371243
name: Summarize reports
12381244
command: cat reports/externalTests/all-benchmarks.json | scripts/externalTests/summarize_benchmarks.sh > reports/externalTests/summarized-benchmarks.json
1245+
- run:
1246+
name: Download reports from base branch
1247+
command: |
1248+
if [[ $CIRCLE_PULL_REQUEST != "" ]]; then
1249+
mkdir reports/externalTests/base-branch/
1250+
cd reports/externalTests/base-branch/
1251+
1252+
pr_id=$(echo "$CIRCLE_PULL_REQUEST" | sed 's|\(.*\)\/||')
1253+
scripts_dir=../../../scripts
1254+
1255+
"${scripts_dir}/externalTests/download_benchmarks.py" --base-of-pr "$pr_id"
1256+
fi
1257+
- run:
1258+
name: Diff benchmarks
1259+
command: |
1260+
if [[ $CIRCLE_PULL_REQUEST != "" ]]; then
1261+
cd reports/externalTests/
1262+
mkdir diff/
1263+
scripts_dir=../../scripts
1264+
1265+
"${scripts_dir}/externalTests/benchmark_diff.py" table \
1266+
--output-format markdown \
1267+
--style humanized \
1268+
base-branch/summarized-benchmarks-*.json \
1269+
summarized-benchmarks.json > diff/benchmark-diff-summarized-table-markdown-humanized.md
1270+
"${scripts_dir}/externalTests/benchmark_diff.py" table \
1271+
--output-format markdown \
1272+
--style absolute \
1273+
base-branch/summarized-benchmarks-*.json \
1274+
summarized-benchmarks.json > diff/benchmark-diff-summarized-table-markdown-absolute.md
1275+
"${scripts_dir}/externalTests/benchmark_diff.py" inplace \
1276+
--style absolute \
1277+
base-branch/summarized-benchmarks-*.json \
1278+
summarized-benchmarks.json > diff/benchmark-diff-summarized-inplace-absolute.md
1279+
"${scripts_dir}/externalTests/benchmark_diff.py" inplace \
1280+
--style absolute \
1281+
base-branch/all-benchmarks-*.json \
1282+
all-benchmarks.json > diff/benchmark-diff-all-table-inplace-absolute.md
1283+
fi
12391284
- store_artifacts:
12401285
path: reports/externalTests/all-benchmarks.json
12411286
- store_artifacts:
12421287
path: reports/externalTests/summarized-benchmarks.json
1288+
- store_artifacts:
1289+
path: reports/externalTests/diff/
1290+
- store_artifacts:
1291+
path: reports/externalTests/base-branch/
12431292

12441293
b_win: &b_win
12451294
<<: *base_win_powershell_large

0 commit comments

Comments
 (0)