|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +# Notes about this script: |
| 4 | +# 1. This file defines the function set_suites(), which sets WORKER_x_MTR_SUITES for x=1..8. |
| 5 | +# 2. The function check_suites(), defined in https://github.com/Percona-Lab/ps-build/blob/8.0/local/utils.inc.sh |
| 6 | +# checks for inconsistencies between the suites specified in mysql-test-run.pl and those defined in this script. |
| 7 | +# 3. The default split is defined in https://github.com/Percona-Lab/ps-build/blob/8.0/jenkins/suites-groups.sh |
| 8 | +# 4. The default split can be overridden by mysql-test/suites-groups.sh, if present, |
| 9 | +# allowing custom suite splits on development branches. |
| 10 | +# 5. By default, the Jenkins pipeline fails if inconsistencies are detected (IGNORE_INCONSISTENCY=0). |
| 11 | +# 6. If IGNORE_INCONSISTENCY=1 is set, the pipeline continues with a warning instead of failing. |
| 12 | +# 7. Jenkins scripts support the following suite formats: |
| 13 | +# |
| 14 | +# main - all tests will be allowed to be executed (big and no-big). Note that the final decision belongs to --big-tests MTR parameter |
| 15 | +# main|nobig - only no-big tests are allowed |
| 16 | +# main|big - only big tests are allowed |
| 17 | +# |
| 18 | +# Such approach makes it possible to split the suite execution among two workers, where one woker executes no-big test |
| 19 | +# and another executes only bit tests. |
| 20 | + |
| 21 | + |
| 22 | +# Uncomment to continue testing even if this file is inconsistent with DEFAULT_SUITES from mysql-test-run.pl |
| 23 | +#IGNORE_INCONSISTENCY=1 |
| 24 | + |
| 25 | + |
| 26 | +# usage: set_suites <BUILD_TYPE> |
| 27 | +function set_suites() { |
| 28 | + # Comparing to 8.4 added in 9.4: component_connection_control, jdv |
| 29 | + if [[ "$1" == "Valgrind" ]]; then |
| 30 | + # Unit tests, KEYRING_VAULT tests, ps_protocol, ci_fs will be executed by worker 1 |
| 31 | + echo "Setting WORKER_x_MTR_SUITES for PS 9.x with Valgrind (a custom suite split)" |
| 32 | + # TO DO: Update, copied from 9.x Debug |
| 33 | + WORKER_1_MTR_SUITES="rocksdb|nobig,rpl|big,innodb_undo|nobig,percona,sysschema|nobig,x|big,binlog_nogtid|nobig,encryption,service_sys_var_registration,audit_null" |
| 34 | + WORKER_2_MTR_SUITES="clone|big,component_keyring_file|big,perfschema|nobig,rocksdb_rpl|nobig,clone|nobig,innodb_zip|big,rocksdb_stress,binlog_nogtid|big,query_rewrite_plugins,jdv" |
| 35 | + WORKER_3_MTR_SUITES="rocksdb|big,rpl_nogtid|nobig,percona_innodb|big,component_audit_log_filter,sysschema|big,parts|nobig,rpl_encryption,component_masking_functions,jp,information_schema" |
| 36 | + WORKER_4_MTR_SUITES="group_replication|big,percona_innodb|nobig,binlog|nobig,rpl_nogtid|big,rocksdb_rpl|big,federated,innodb_gis|nobig,collations,test_services,component_js_lang" |
| 37 | + WORKER_5_MTR_SUITES="main|big,innodb_gis|big,rpl_gtid|big,binlog|big,funcs_1,auth_sec|big,binlog_gtid|nobig,opt_trace,secondary_engine,service_status_var_registration" |
| 38 | + WORKER_6_MTR_SUITES="main|nobig,group_replication|nobig,parts|big,innodb_undo|big,innodb_fts|nobig,perfschema|big,engines/iuds,innodb_zip|nobig,rocksdb_sys_vars,component_connection_control,service_udf_registration" |
| 39 | + WORKER_7_MTR_SUITES="innodb|big,rpl|nobig,engines/funcs,sys_vars,x|nobig,component_keyring_file|nobig,stress,funcs_2,json,interactive_utilities,procfs" |
| 40 | + WORKER_8_MTR_SUITES="component_encryption_udf,innodb|nobig,innodb_fts|big,rpl_gtid|nobig,gcol,gis,auth_sec|nobig,binlog_gtid|big,test_service_sql_api,connection_control,percona-pam-for-mysql" |
| 41 | + elif [[ "$1" == "RelWithDebInfo" ]]; then |
| 42 | + # Unit tests, KEYRING_VAULT tests, ps_protocol, ci_fs will be executed by worker 1 |
| 43 | + echo "Setting WORKER_x_MTR_SUITES for PS 9.x with BUILD_TYPE=RelWithDebInfo (a custom suite split)" |
| 44 | + WORKER_1_MTR_SUITES="main|nobig,main|big,parts,percona,component_audit_log_filter,engines/iuds,component_connection_control,opt_trace,information_schema" |
| 45 | + WORKER_2_MTR_SUITES="component_encryption_udf,innodb_zip,gis,json,component_js_lang" |
| 46 | + WORKER_3_MTR_SUITES="group_replication|big,binlog,test_service_sql_api,component_masking_functions,connection_control,service_sys_var_registration,jdv" |
| 47 | + WORKER_4_MTR_SUITES="rocksdb|big,rpl_gtid,auth_sec,engines/funcs,innodb_undo,interactive_utilities,query_rewrite_plugins,audit_null" |
| 48 | + WORKER_5_MTR_SUITES="rocksdb|nobig,percona_innodb,sys_vars,perfschema,innodb_fts,binlog_gtid,rpl_encryption,service_udf_registration,procfs" |
| 49 | + WORKER_6_MTR_SUITES="rpl|nobig,rpl_nogtid|big,rocksdb_rpl,clone,innodb_gis,funcs_1,funcs_2,collations,jp,percona-pam-for-mysql" |
| 50 | + WORKER_7_MTR_SUITES="group_replication|nobig,rpl_nogtid|nobig,innodb|nobig,component_keyring_file,rocksdb_stress,gcol,stress,test_services,secondary_engine,service_status_var_registration" |
| 51 | + WORKER_8_MTR_SUITES="innodb|big,rpl|big,sysschema,x|big,x|nobig,binlog_nogtid,federated,rocksdb_sys_vars,encryption" |
| 52 | + else # Debug (and everything different from "RelWithDebInfo" and "Valgrind") |
| 53 | + # Unit tests, KEYRING_VAULT tests, ps_protocol, ci_fs will be executed by worker 1 |
| 54 | + echo "Setting WORKER_x_MTR_SUITES for PS 9.x with BUILD_TYPE=Debug (a custom suite split)" |
| 55 | + WORKER_1_MTR_SUITES="rocksdb|nobig,rpl|big,innodb_undo|nobig,percona,sysschema|nobig,x|big,binlog_nogtid|nobig,encryption,service_sys_var_registration,audit_null" |
| 56 | + WORKER_2_MTR_SUITES="clone|big,component_keyring_file|big,perfschema|nobig,rocksdb_rpl|nobig,clone|nobig,innodb_zip|big,rocksdb_stress,binlog_nogtid|big,query_rewrite_plugins,jdv" |
| 57 | + WORKER_3_MTR_SUITES="rocksdb|big,rpl_nogtid|nobig,percona_innodb|big,component_audit_log_filter,sysschema|big,parts|nobig,rpl_encryption,component_masking_functions,jp,information_schema" |
| 58 | + WORKER_4_MTR_SUITES="group_replication|big,percona_innodb|nobig,binlog|nobig,rpl_nogtid|big,rocksdb_rpl|big,federated,innodb_gis|nobig,collations,test_services,component_js_lang" |
| 59 | + WORKER_5_MTR_SUITES="main|big,innodb_gis|big,rpl_gtid|big,binlog|big,funcs_1,auth_sec|big,binlog_gtid|nobig,opt_trace,secondary_engine,service_status_var_registration" |
| 60 | + WORKER_6_MTR_SUITES="main|nobig,group_replication|nobig,parts|big,innodb_undo|big,innodb_fts|nobig,perfschema|big,engines/iuds,innodb_zip|nobig,rocksdb_sys_vars,component_connection_control,service_udf_registration" |
| 61 | + WORKER_7_MTR_SUITES="innodb|big,rpl|nobig,engines/funcs,sys_vars,x|nobig,component_keyring_file|nobig,stress,funcs_2,json,interactive_utilities,procfs" |
| 62 | + WORKER_8_MTR_SUITES="component_encryption_udf,innodb|nobig,innodb_fts|big,rpl_gtid|nobig,gcol,gis,auth_sec|nobig,binlog_gtid|big,test_service_sql_api,connection_control,percona-pam-for-mysql" |
| 63 | + fi |
| 64 | +} |
0 commit comments