diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 2af54da5e16..d822e412a72 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -2913,7 +2913,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=0 RUN_BY_HASH_TOTAL=4 @@ -2951,7 +2951,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=1 RUN_BY_HASH_TOTAL=4 @@ -2989,7 +2989,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=2 RUN_BY_HASH_TOTAL=4 @@ -3027,7 +3027,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=3 RUN_BY_HASH_TOTAL=4 diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index e6fcc286014..a0900ab5395 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -3129,7 +3129,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=0 RUN_BY_HASH_TOTAL=4 @@ -3167,7 +3167,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=1 RUN_BY_HASH_TOTAL=4 @@ -3205,7 +3205,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=2 RUN_BY_HASH_TOTAL=4 @@ -3243,7 +3243,7 @@ jobs: cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/performance_comparison REPORTS_PATH=${{runner.temp}}/reports_dir - CHECK_NAME=Performance Comparison (actions) + CHECK_NAME=Performance Comparison REPO_COPY=${{runner.temp}}/performance_comparison/ClickHouse RUN_BY_HASH_NUM=3 RUN_BY_HASH_TOTAL=4 diff --git a/docker/test/performance-comparison/compare.sh b/docker/test/performance-comparison/compare.sh index 16503eed778..046a394a686 100755 --- a/docker/test/performance-comparison/compare.sh +++ b/docker/test/performance-comparison/compare.sh @@ -207,6 +207,13 @@ function run_tests test_files=($(ls "$test_prefix"/*.xml)) fi + # We can filter out certain tests + if [ -v CHPC_TEST_GREP_EXCLUDE ]; then + # filter tests array in bash https://stackoverflow.com/a/40375567 + filtered_test_files=( $( for i in ${test_files[@]} ; do echo $i ; done | grep -v ${CHPC_TEST_GREP_EXCLUDE} ) ) + test_files=("${filtered_test_files[@]}") + fi + # We split perf tests into multiple checks to make them faster if [ -v CHPC_TEST_RUN_BY_HASH_TOTAL ]; then # filter tests array in bash https://stackoverflow.com/a/40375567 diff --git a/tests/ci/ci_config.py b/tests/ci/ci_config.py index 7a216e2259c..29ed3ab4660 100644 --- a/tests/ci/ci_config.py +++ b/tests/ci/ci_config.py @@ -360,11 +360,13 @@ CI_CONFIG = { "ClickHouse Keeper Jepsen (actions)": { "required_build": "binary_release", }, - "Performance Comparison (actions)": { + "Performance Comparison": { "required_build": "package_release", + "test_grep_exclude_filter": "" }, "Performance Comparison Aarch64": { "required_build": "package_aarch64", + "test_grep_exclude_filter": "constant_column_search" }, }, } # type: dict diff --git a/tests/ci/performance_comparison_check.py b/tests/ci/performance_comparison_check.py index b491c739653..2cdd22dbdfe 100644 --- a/tests/ci/performance_comparison_check.py +++ b/tests/ci/performance_comparison_check.py @@ -112,6 +112,14 @@ if __name__ == "__main__": else: check_name_with_group = check_name + test_grep_exclude_filter = CI_CONFIG["tests_config"][check_name]["test_grep_exclude_filter"] + + if test_grep_exclude_filter: + docker_env += ( + f" -e CHPC_TEST_GREP_EXCLUDE={test_grep_exclude_filter}" + ) + logging.info(f"Fill fliter our performance tests by grep -v {test_grep_exclude_filter}") + rerun_helper = RerunHelper(gh, pr_info, check_name_with_group) if rerun_helper.is_already_finished_by_status(): logging.info("Check is already finished according to github status, exiting")