@@ -121,15 +121,17 @@ jobs:
121121 run : |
122122 # For templated benchmarks, we need to preload some data for the test since by design, templated benchmarks do not support the 'load' operation
123123 # In this case, we load the tpcc data.
124- if [[ ${{matrix.benchmark}} == templated ]]; then
124+ if [[ ${{matrix.benchmark}} == templated ]] || [[ ${{matrix.benchmark}} == tpcc ]] ; then
125125 # Disable synchronous mode for sqlite tpcc data loading to save some time.
126126 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
127127 # Run the templated benchmark.
128128 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
129129 else
130130 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
131131 fi
132+
132133 # FIXME: Reduce the error rate so we don't need these overrides.
134+ results_benchmark=${{matrix.benchmark}}
133135 if [ ${{matrix.benchmark}} == auctionmark ]; then
134136 ERRORS_THRESHOLD=0.02
135137 elif [ ${{matrix.benchmark}} == resourcestresser ]; then
@@ -139,6 +141,7 @@ jobs:
139141 elif [ ${{matrix.benchmark}} == tatp ]; then
140142 ERRORS_THRESHOLD=0.05
141143 fi
144+ ./scripts/check_latest_benchmark_results.sh $results_benchmark
142145 ./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
143146
144147 # # ----------------------------------------------------------------------------------
@@ -150,6 +153,7 @@ jobs:
150153 strategy :
151154 fail-fast : false
152155 matrix :
156+ # FIXME: Add tpch back in (#333).
153157 benchmark : [ 'auctionmark', 'epinions', 'hyadapt', 'noop', 'otmetrics', 'resourcestresser', 'seats', 'sibench', 'smallbank', 'tatp', 'templated', 'tpcc', 'twitter', 'voter', 'wikipedia', 'ycsb' ]
154158 services :
155159 mariadb : # https://hub.docker.com/_/mariadb
@@ -203,11 +207,13 @@ jobs:
203207 fi
204208
205209 # FIXME: Reduce the error rate so we don't need these overrides.
210+ results_benchmark=${{matrix.benchmark}}
206211 if [ ${{matrix.benchmark}} == auctionmark ]; then
207212 ERRORS_THRESHOLD=0.02
208213 elif [ ${{matrix.benchmark}} == tatp ]; then
209214 ERRORS_THRESHOLD=0.05
210215 fi
216+ ./scripts/check_latest_benchmark_results.sh $results_benchmark
211217 ./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
212218
213219 # # ----------------------------------------------------------------------------------
@@ -219,7 +225,7 @@ jobs:
219225 strategy :
220226 fail-fast : false
221227 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' ]
223229 services :
224230 mysql : # https://hub.docker.com/_/mysql
225231 image : mysql:latest
@@ -271,11 +277,13 @@ jobs:
271277 fi
272278
273279 # FIXME: Reduce the error rate so we don't need these overrides.
280+ results_benchmark=${{matrix.benchmark}}
274281 if [ ${{matrix.benchmark}} == auctionmark ]; then
275282 ERRORS_THRESHOLD=0.02
276283 elif [ ${{matrix.benchmark}} == tatp ]; then
277284 ERRORS_THRESHOLD=0.05
278285 fi
286+ ./scripts/check_latest_benchmark_results.sh $results_benchmark
279287 ./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
280288
281289 # # ----------------------------------------------------------------------------------
@@ -287,7 +295,7 @@ jobs:
287295 strategy :
288296 fail-fast : false
289297 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' ]
291299 services :
292300 oracle :
293301 image : gvenzl/oracle-xe:21.3.0-slim-faststart
@@ -341,7 +349,9 @@ jobs:
341349 else
342350 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
343351 fi
352+
344353 # FIXME: Reduce the error rate so we don't need these overrides.
354+ results_benchmark=${{matrix.benchmark}}
345355 if [ ${{matrix.benchmark}} == auctionmark ]; then
346356 ERRORS_THRESHOLD=0.04
347357 elif [ ${{matrix.benchmark}} == tatp ]; then
@@ -353,6 +363,7 @@ jobs:
353363 elif [ ${{matrix.benchmark}} == wikipedia ]; then
354364 ERRORS_THRESHOLD=0.02
355365 fi
366+ ./scripts/check_latest_benchmark_results.sh $results_benchmark
356367 ./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
357368
358369 # # ----------------------------------------------------------------------------------
@@ -414,11 +425,13 @@ jobs:
414425 fi
415426
416427 # FIXME: Reduce the error rate so we don't need these overrides.
428+ results_benchmark=${{matrix.benchmark}}
417429 if [ ${{matrix.benchmark}} == auctionmark ]; then
418430 ERRORS_THRESHOLD=0.02
419431 elif [ ${{matrix.benchmark}} == tatp ]; then
420432 ERRORS_THRESHOLD=0.05
421433 fi
434+ ./scripts/check_latest_benchmark_results.sh $results_benchmark
422435 ./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
423436
424437 # # ----------------------------------------------------------------------------------
@@ -430,7 +443,7 @@ jobs:
430443 strategy :
431444 fail-fast : false
432445 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' ]
434447 services :
435448 cockroach : # https://hub.docker.com/repository/docker/timveil/cockroachdb-single-node
436449 image : timveil/cockroachdb-single-node:latest
@@ -461,14 +474,23 @@ jobs:
461474
462475 - name : Run benchmark
463476 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
465485 # FIXME: Reduce the error rate so we don't need these overrides.
466486 # FIXME: Reduce the error rate so we don't need these overrides.
487+ results_benchmark=${{matrix.benchmark}}
467488 if [ ${{matrix.benchmark}} == auctionmark ]; then
468489 ERRORS_THRESHOLD=0.02
469490 elif [ ${{matrix.benchmark}} == tatp ]; then
470491 ERRORS_THRESHOLD=0.05
471492 fi
493+ ./scripts/check_latest_benchmark_results.sh $results_benchmark
472494 ./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
473495
474496 # # ----------------------------------------------------------------------------------
@@ -480,8 +502,7 @@ jobs:
480502 strategy :
481503 fail-fast : false
482504 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
485506 benchmark : [ 'epinions', 'hyadapt', 'noop', 'otmetrics', 'resourcestresser', 'sibench', 'smallbank', 'tatp', 'tpcc', 'templated', 'tpch', 'twitter', 'voter', 'wikipedia', 'ycsb' ]
486507 services :
487508 sqlserver :
@@ -553,9 +574,11 @@ jobs:
553574 fi
554575
555576 # FIXME: Reduce the error rate so we don't need these overrides.
577+ results_benchmark=${{matrix.benchmark}}
556578 if [ ${{matrix.benchmark}} == tatp ]; then
557579 ERRORS_THRESHOLD=0.05
558580 fi
581+ ./scripts/check_latest_benchmark_results.sh $results_benchmark
559582 ./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
560583
561584 # # ----------------------------------------------------------------------------------
@@ -632,6 +655,7 @@ jobs:
632655 "$image" -b "$benchmark" -c /tmp/config.xml --create=true --load=true --execute=true --json-histograms results/histograms.json
633656 # Test that the results files were produced.
634657 ls results/${benchmark}_*.csv
658+ ./scripts/check_latest_benchmark_results.sh ${benchmark}
635659 ./scripts/check_histogram_results.sh results/histograms.json $ERRORS_THRESHOLD
636660 done
637661 # Publish the docker image if the build/test was successful.
0 commit comments