@@ -121,15 +121,17 @@ jobs:
121
121
run : |
122
122
# For templated benchmarks, we need to preload some data for the test since by design, templated benchmarks do not support the 'load' operation
123
123
# In this case, we load the tpcc data.
124
- if [[ ${{matrix.benchmark}} == templated ]]; then
124
+ if [[ ${{matrix.benchmark}} == templated ]] || [[ ${{matrix.benchmark}} == tpcc ]] ; then
125
125
# Disable synchronous mode for sqlite tpcc data loading to save some time.
126
126
java -jar benchbase.jar -b tpcc -c config/sqlite/sample_tpcc_nosync_config.xml --create=true --load=true --execute=false --json-histograms results/histograms.json
127
127
# Run the templated benchmark.
128
128
java -jar benchbase.jar -b ${{matrix.benchmark}} -c config/sqlite/sample_${{matrix.benchmark}}_config.xml --create=false --load=false --execute=true --json-histograms results/histograms.json
129
129
else
130
130
java -jar benchbase.jar -b ${{matrix.benchmark}} -c config/sqlite/sample_${{matrix.benchmark}}_config.xml --create=true --load=true --execute=true --json-histograms results/histograms.json
131
131
fi
132
+
132
133
# FIXME: Reduce the error rate so we don't need these overrides.
134
+ results_benchmark=${{matrix.benchmark}}
133
135
if [ ${{matrix.benchmark}} == auctionmark ]; then
134
136
ERRORS_THRESHOLD=0.02
135
137
elif [ ${{matrix.benchmark}} == resourcestresser ]; then
@@ -139,6 +141,7 @@ jobs:
139
141
elif [ ${{matrix.benchmark}} == tatp ]; then
140
142
ERRORS_THRESHOLD=0.05
141
143
fi
144
+ ./scripts/check_latest_benchmark_results.sh $results_benchmark
142
145
./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
143
146
144
147
# # ----------------------------------------------------------------------------------
@@ -150,6 +153,7 @@ jobs:
150
153
strategy :
151
154
fail-fast : false
152
155
matrix :
156
+ # FIXME: Add tpch back in (#333).
153
157
benchmark : [ 'auctionmark', 'epinions', 'hyadapt', 'noop', 'otmetrics', 'resourcestresser', 'seats', 'sibench', 'smallbank', 'tatp', 'templated', 'tpcc', 'twitter', 'voter', 'wikipedia', 'ycsb' ]
154
158
services :
155
159
mariadb : # https://hub.docker.com/_/mariadb
@@ -203,11 +207,13 @@ jobs:
203
207
fi
204
208
205
209
# FIXME: Reduce the error rate so we don't need these overrides.
210
+ results_benchmark=${{matrix.benchmark}}
206
211
if [ ${{matrix.benchmark}} == auctionmark ]; then
207
212
ERRORS_THRESHOLD=0.02
208
213
elif [ ${{matrix.benchmark}} == tatp ]; then
209
214
ERRORS_THRESHOLD=0.05
210
215
fi
216
+ ./scripts/check_latest_benchmark_results.sh $results_benchmark
211
217
./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
212
218
213
219
# # ----------------------------------------------------------------------------------
@@ -219,7 +225,7 @@ jobs:
219
225
strategy :
220
226
fail-fast : false
221
227
matrix :
222
- benchmark : [ 'auctionmark', 'epinions', 'hyadapt', 'noop', 'otmetrics', 'resourcestresser', 'seats', 'sibench', 'smallbank', 'tatp', 'templated', 'tpcc', 'twitter', 'voter', 'wikipedia', 'ycsb' ]
228
+ benchmark : [ 'auctionmark', 'epinions', 'hyadapt', 'noop', 'otmetrics', 'resourcestresser', 'seats', 'sibench', 'smallbank', 'tatp', 'templated', 'tpcc', 'tpch', ' twitter', 'voter', 'wikipedia', 'ycsb' ]
223
229
services :
224
230
mysql : # https://hub.docker.com/_/mysql
225
231
image : mysql:latest
@@ -271,11 +277,13 @@ jobs:
271
277
fi
272
278
273
279
# FIXME: Reduce the error rate so we don't need these overrides.
280
+ results_benchmark=${{matrix.benchmark}}
274
281
if [ ${{matrix.benchmark}} == auctionmark ]; then
275
282
ERRORS_THRESHOLD=0.02
276
283
elif [ ${{matrix.benchmark}} == tatp ]; then
277
284
ERRORS_THRESHOLD=0.05
278
285
fi
286
+ ./scripts/check_latest_benchmark_results.sh $results_benchmark
279
287
./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
280
288
281
289
# # ----------------------------------------------------------------------------------
@@ -287,7 +295,7 @@ jobs:
287
295
strategy :
288
296
fail-fast : false
289
297
matrix :
290
- benchmark : [ 'auctionmark', 'epinions', 'hyadapt', 'otmetrics', 'resourcestresser', 'seats', 'sibench', 'smallbank', 'tatp', 'tpcc', 'twitter', 'voter', 'wikipedia', 'ycsb', 'templated' ]
298
+ benchmark : [ 'auctionmark', 'epinions', 'hyadapt', 'otmetrics', 'resourcestresser', 'seats', 'sibench', 'smallbank', 'tatp', 'tpcc', 'tpch', ' twitter', 'voter', 'wikipedia', 'ycsb', 'templated' ]
291
299
services :
292
300
oracle :
293
301
image : gvenzl/oracle-xe:21.3.0-slim-faststart
@@ -341,7 +349,9 @@ jobs:
341
349
else
342
350
java -jar benchbase.jar -b ${{matrix.benchmark}} -c config/oracle/sample_${{matrix.benchmark}}_config.xml --create=true --load=true --execute=true --json-histograms results/histograms.json
343
351
fi
352
+
344
353
# FIXME: Reduce the error rate so we don't need these overrides.
354
+ results_benchmark=${{matrix.benchmark}}
345
355
if [ ${{matrix.benchmark}} == auctionmark ]; then
346
356
ERRORS_THRESHOLD=0.04
347
357
elif [ ${{matrix.benchmark}} == tatp ]; then
@@ -353,6 +363,7 @@ jobs:
353
363
elif [ ${{matrix.benchmark}} == wikipedia ]; then
354
364
ERRORS_THRESHOLD=0.02
355
365
fi
366
+ ./scripts/check_latest_benchmark_results.sh $results_benchmark
356
367
./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
357
368
358
369
# # ----------------------------------------------------------------------------------
@@ -414,11 +425,13 @@ jobs:
414
425
fi
415
426
416
427
# FIXME: Reduce the error rate so we don't need these overrides.
428
+ results_benchmark=${{matrix.benchmark}}
417
429
if [ ${{matrix.benchmark}} == auctionmark ]; then
418
430
ERRORS_THRESHOLD=0.02
419
431
elif [ ${{matrix.benchmark}} == tatp ]; then
420
432
ERRORS_THRESHOLD=0.05
421
433
fi
434
+ ./scripts/check_latest_benchmark_results.sh $results_benchmark
422
435
./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
423
436
424
437
# # ----------------------------------------------------------------------------------
@@ -430,7 +443,7 @@ jobs:
430
443
strategy :
431
444
fail-fast : false
432
445
matrix :
433
- benchmark : [ 'auctionmark', 'epinions', 'hyadapt', 'noop', 'otmetrics', 'resourcestresser', 'seats', 'sibench', 'smallbank', 'tatp', 'tpcc', 'tpch', 'twitter', 'voter', 'wikipedia', 'ycsb' ]
446
+ benchmark : [ 'auctionmark', 'epinions', 'hyadapt', 'noop', 'otmetrics', 'resourcestresser', 'seats', 'sibench', 'smallbank', 'tatp', 'templated', ' tpcc', 'tpch', 'twitter', 'voter', 'wikipedia', 'ycsb' ]
434
447
services :
435
448
cockroach : # https://hub.docker.com/repository/docker/timveil/cockroachdb-single-node
436
449
image : timveil/cockroachdb-single-node:latest
@@ -461,14 +474,23 @@ jobs:
461
474
462
475
- name : Run benchmark
463
476
run : |
464
- java -jar benchbase.jar -b ${{matrix.benchmark}} -c config/cockroachdb/sample_${{matrix.benchmark}}_config.xml --create=true --load=true --execute=true --json-histograms results/histograms.json
477
+ # For templated benchmarks, we need to preload some data for the test since by design, templated benchmarks do not support the 'load' operation
478
+ # In this case, we load the tpcc data.
479
+ if [[ ${{matrix.benchmark}} == templated ]]; then
480
+ java -jar benchbase.jar -b tpcc -c config/cockroachdb/sample_tpcc_config.xml --create=true --load=true --execute=false --json-histograms results/histograms.json
481
+ java -jar benchbase.jar -b ${{matrix.benchmark}} -c config/cockroachdb/sample_${{matrix.benchmark}}_config.xml --create=false --load=false --execute=true --json-histograms results/histograms.json
482
+ else
483
+ java -jar benchbase.jar -b ${{matrix.benchmark}} -c config/cockroachdb/sample_${{matrix.benchmark}}_config.xml --create=true --load=true --execute=true --json-histograms results/histograms.json
484
+ fi
465
485
# FIXME: Reduce the error rate so we don't need these overrides.
466
486
# FIXME: Reduce the error rate so we don't need these overrides.
487
+ results_benchmark=${{matrix.benchmark}}
467
488
if [ ${{matrix.benchmark}} == auctionmark ]; then
468
489
ERRORS_THRESHOLD=0.02
469
490
elif [ ${{matrix.benchmark}} == tatp ]; then
470
491
ERRORS_THRESHOLD=0.05
471
492
fi
493
+ ./scripts/check_latest_benchmark_results.sh $results_benchmark
472
494
./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
473
495
474
496
# # ----------------------------------------------------------------------------------
@@ -480,8 +502,7 @@ jobs:
480
502
strategy :
481
503
fail-fast : false
482
504
matrix :
483
- # TODO: add more benchmarks
484
- # benchmark: [ 'auctionmark', 'epinions', 'hyadapt', 'noop', 'otmetrics', 'resourcestresser', 'seats', 'sibench', 'smallbank', 'tatp', 'tpcc', 'tpch', 'twitter', 'voter', 'wikipedia', 'ycsb' ]
505
+ # TODO: add auctionmark and seats benchmark
485
506
benchmark : [ 'epinions', 'hyadapt', 'noop', 'otmetrics', 'resourcestresser', 'sibench', 'smallbank', 'tatp', 'tpcc', 'templated', 'tpch', 'twitter', 'voter', 'wikipedia', 'ycsb' ]
486
507
services :
487
508
sqlserver :
@@ -553,9 +574,11 @@ jobs:
553
574
fi
554
575
555
576
# FIXME: Reduce the error rate so we don't need these overrides.
577
+ results_benchmark=${{matrix.benchmark}}
556
578
if [ ${{matrix.benchmark}} == tatp ]; then
557
579
ERRORS_THRESHOLD=0.05
558
580
fi
581
+ ./scripts/check_latest_benchmark_results.sh $results_benchmark
559
582
./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
560
583
561
584
# # ----------------------------------------------------------------------------------
@@ -632,6 +655,7 @@ jobs:
632
655
"$image" -b "$benchmark" -c /tmp/config.xml --create=true --load=true --execute=true --json-histograms results/histograms.json
633
656
# Test that the results files were produced.
634
657
ls results/${benchmark}_*.csv
658
+ ./scripts/check_latest_benchmark_results.sh ${benchmark}
635
659
./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
636
660
done
637
661
# Publish the docker image if the build/test was successful.
0 commit comments