Skip to content

Commit 69781f8

Browse files
committed
c_ext_benchmarks: Generate and store benchmark diffs
1 parent b22d3bc commit 69781f8

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
@@ -1226,16 +1226,65 @@ jobs:
12261226
- checkout
12271227
- attach_workspace:
12281228
at: .
1229+
- run:
1230+
name: Install dependencies of helper scripts
1231+
command: |
1232+
sudo apt update
1233+
sudo apt install python3-pip --assume-yes --no-install-recommends
1234+
python3 -m pip install requests --user
12291235
- run:
12301236
name: Combine benchmark reports
12311237
command: cat reports/externalTests/benchmark-*.json | scripts/externalTests/merge_benchmarks.sh > reports/externalTests/all-benchmarks.json
12321238
- run:
12331239
name: Summarize reports
12341240
command: cat reports/externalTests/all-benchmarks.json | scripts/externalTests/summarize_benchmarks.sh > reports/externalTests/summarized-benchmarks.json
1241+
- run:
1242+
name: Download reports from base branch
1243+
command: |
1244+
if [[ $CIRCLE_PULL_REQUEST != "" ]]; then
1245+
mkdir reports/externalTests/base-branch/
1246+
cd reports/externalTests/base-branch/
1247+
1248+
pr_id=$(echo "$CIRCLE_PULL_REQUEST" | sed 's|\(.*\)\/||')
1249+
scripts_dir=../../../scripts
1250+
1251+
"${scripts_dir}/externalTests/download_benchmarks.py" --base-of-pr "$pr_id"
1252+
fi
1253+
- run:
1254+
name: Diff benchmarks
1255+
command: |
1256+
if [[ $CIRCLE_PULL_REQUEST != "" ]]; then
1257+
cd reports/externalTests/
1258+
mkdir diff/
1259+
scripts_dir=../../scripts
1260+
1261+
"${scripts_dir}/externalTests/benchmark_diff.py" table \
1262+
--output-format markdown \
1263+
--style humanized \
1264+
base-branch/summarized-benchmarks-*.json \
1265+
summarized-benchmarks.json > diff/benchmark-diff-summarized-table-markdown-humanized.md
1266+
"${scripts_dir}/externalTests/benchmark_diff.py" table \
1267+
--output-format markdown \
1268+
--style absolute \
1269+
base-branch/summarized-benchmarks-*.json \
1270+
summarized-benchmarks.json > diff/benchmark-diff-summarized-table-markdown-absolute.md
1271+
"${scripts_dir}/externalTests/benchmark_diff.py" inplace \
1272+
--style absolute \
1273+
base-branch/summarized-benchmarks-*.json \
1274+
summarized-benchmarks.json > diff/benchmark-diff-summarized-inplace-absolute.md
1275+
"${scripts_dir}/externalTests/benchmark_diff.py" inplace \
1276+
--style absolute \
1277+
base-branch/all-benchmarks-*.json \
1278+
all-benchmarks.json > diff/benchmark-diff-all-table-inplace-absolute.md
1279+
fi
12351280
- store_artifacts:
12361281
path: reports/externalTests/all-benchmarks.json
12371282
- store_artifacts:
12381283
path: reports/externalTests/summarized-benchmarks.json
1284+
- store_artifacts:
1285+
path: reports/externalTests/diff/
1286+
- store_artifacts:
1287+
path: reports/externalTests/base-branch/
12391288

12401289
b_win: &b_win
12411290
<<: *base_win_powershell_large

0 commit comments

Comments
 (0)