diff --git a/.github/create_workflow_report.py b/.github/create_workflow_report.py index 618ee98988fd..a7f30f72aedf 100755 --- a/.github/create_workflow_report.py +++ b/.github/create_workflow_report.py @@ -434,7 +434,7 @@ def get_cves(pr_number, commit_sha): def url_to_html_link(url: str) -> str: if not url: return "" - text = url.split("/")[-1] + text = url.split("/")[-1].replace("__", "_") if not text: text = "results" return f'{text}' @@ -442,7 +442,7 @@ def url_to_html_link(url: str) -> str: def format_test_name_for_linewrap(text: str) -> str: """Tweak the test name to improve line wrapping.""" - return text.replace(".py::", "/") + return f'{text}' def format_test_status(text: str) -> str: diff --git a/.github/grype/run_grype_scan.sh b/.github/grype/run_grype_scan.sh index c5ce0b1b10d3..af428e37d669 100755 --- a/.github/grype/run_grype_scan.sh +++ b/.github/grype/run_grype_scan.sh @@ -3,7 +3,7 @@ set -e IMAGE=$1 -GRYPE_VERSION="v0.80.1" +GRYPE_VERSION=${GRYPE_VERSION:-"v0.92.2"} docker pull $IMAGE docker pull anchore/grype:${GRYPE_VERSION} diff --git a/.github/workflows/grype_scan.yml b/.github/workflows/grype_scan.yml index 1414129fd666..68c128e4e470 100644 --- a/.github/workflows/grype_scan.yml +++ b/.github/workflows/grype_scan.yml @@ -20,6 +20,7 @@ env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + GRYPE_VERSION: "v0.92.2-arm64v8" jobs: grype_scan: diff --git a/.github/workflows/release_branches.yml b/.github/workflows/release_branches.yml index 6fb776b11c8f..fce8b7f13c78 100644 --- a/.github/workflows/release_branches.yml +++ b/.github/workflows/release_branches.yml @@ -486,8 +486,8 @@ jobs: ##################################### REGRESSION TESTS ###################################### ############################################################################################# RegressionTestsRelease: - needs: [BuilderDebRelease] - if: ${{ !failure() && !cancelled() }} + needs: [RunConfig, BuilderDebRelease] + if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.RunConfig.outputs.data).ci_settings.exclude_keywords, 'regression')}} uses: ./.github/workflows/regression.yml secrets: inherit with: @@ -497,8 +497,8 @@ jobs: build_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} timeout_minutes: 300 RegressionTestsAarch64: - needs: [BuilderDebAarch64] - if: ${{ !failure() && !cancelled() }} + needs: [RunConfig, BuilderDebAarch64] + if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.RunConfig.outputs.data).ci_settings.exclude_keywords, 'regression') && !contains(fromJson(needs.RunConfig.outputs.data).ci_settings.exclude_keywords, 'aarch64')}} uses: ./.github/workflows/regression.yml secrets: inherit with: diff --git a/docker/test/stress/Dockerfile b/docker/test/stress/Dockerfile index 507bf90bc2dd..359a05b20713 100644 --- a/docker/test/stress/Dockerfile +++ b/docker/test/stress/Dockerfile @@ -1,7 +1,7 @@ # rebuild in #33610 # docker build -t altinityinfra/stress-test . ARG FROM_TAG=latest -FROM altinityinfra/stateful-test:$FROM_TAG +FROM altinityinfra/stateful-test:ce3c0a6ed901 RUN apt-get update -y \ && env DEBIAN_FRONTEND=noninteractive \ diff --git a/docker/test/stress/run.sh b/docker/test/stress/run.sh index cb6b44fec543..41b53534b704 100644 --- a/docker/test/stress/run.sh +++ b/docker/test/stress/run.sh @@ -57,6 +57,10 @@ azurite-blob --blobHost 0.0.0.0 --blobPort 10000 --debug /azurite_log & config_logs_export_cluster /etc/clickhouse-server/config.d/system_logs_export.yaml +# NOTE(strtgbb): Trying to avoid errors that may be related to running out of resources +export CLICKHOUSE_MAX_THREADS=8 +export CLICKHOUSE_MAX_CONCURRENT_QUERIES=4 + start_server setup_logs_replication diff --git a/tests/broken_tests.json b/tests/broken_tests.json index d9d0008ef88f..122e9e4059d1 100644 --- a/tests/broken_tests.json +++ b/tests/broken_tests.json @@ -1,58 +1,94 @@ { "test_postgresql_replica_database_engine_2/test.py::test_quoting_publication": { "message": "DB::Exception: Syntax error:", - "reason": "syntax error" + "reason": "NEEDSFIX syntax error" }, "test_distributed_inter_server_secret/test.py::test_secure_cluster_distributed_over_distributed_different_users": { "message": "DB::NetException: Connection reset by peer, while reading from socket", - "reason": "network issue" + "reason": "NEEDSFIX network issue" }, "02920_alter_column_of_projections": { - "reason": "requires different settings" + "reason": "NEEDSFIX requires different settings" }, "02888_system_tables_with_inaccsessible_table_function": { - "reason": "todo investigate" + "reason": "INVESTIGATE" + }, + "02481_async_insert_dedup": { + "reason": "INVESTIGATE - fails in debug" + }, + "02286_quantile_tdigest_infinity": { + "reason": "INVESTIGATE - fails in tsan" }, "03094_grouparraysorted_memory": { - "reason": "flaky" + "reason": "KNOWN flaky" }, "02700_s3_part_INT_MAX": { - "reason": "fails with asan" + "reason": "KNOWN fails with asan" + }, + "02783_parsedatetimebesteffort_syslog": { + "reason": "NEEDSFIX - fixed upstream, needs backport" + }, + "03145_non_loaded_projection_backup": { + "reason": "INVESTIGATE - fails in tsan" + }, + "00078_group_by_arrays": { + "reason": "INVESTIGATE - fail in debug" + }, + "02539_settings_aliases": { + "reason": "INVESTIGATE - fail in msan" + }, + "01052_window_view_proc_tumble_to_now": { + "reason": "INVESTIGATE - fail in msan" }, "test_backward_compatibility/test_aggregate_function_state.py::test_backward_compatability_for_avg":{ - "reason": "not run by upstream" + "reason": "KNOWN not run by upstream" }, "test_backward_compatibility/test_aggregate_function_state.py::test_backward_compatability_for_uniq_exact[1000]":{ - "reason": "not run by upstream" + "reason": "KNOWN not run by upstream" }, "test_backward_compatibility/test_aggregate_function_state.py::test_backward_compatability_for_uniq_exact[500000] ":{ - "reason": "not run by upstream" + "reason": "KNOWN not run by upstream" }, "test_backward_compatibility/test_aggregate_function_state.py::test_backward_compatability_for_uniq_exact_variadic[1000]":{ - "reason": "not run by upstream" + "reason": "KNOWN not run by upstream" }, "test_backward_compatibility/test_aggregate_function_state.py::test_backward_compatability_for_uniq_exact_variadic[500000]":{ - "reason": "not run by upstream" + "reason": "KNOWN not run by upstream" }, "test_dictionaries_all_layouts_separate_sources/test_mongo.py::test_simple_ssl[cache-True]": { - "reason": "errors upstream" + "reason": "KNOWN errors upstream" }, "test_dictionaries_all_layouts_separate_sources/test_mongo.py::test_simple_ssl[direct-True]":{ - "reason": "errors upstream" + "reason": "KNOWN errors upstream" }, "test_dictionaries_all_layouts_separate_sources/test_mongo.py::test_simple_ssl[flat-True]":{ - "reason": "errors upstream" + "reason": "KNOWN errors upstream" }, "test_dictionaries_all_layouts_separate_sources/test_mongo.py::test_simple_ssl[hashed-True]":{ - "reason": "errors upstream" + "reason": "KNOWN errors upstream" }, "test_dictionaries_all_layouts_separate_sources/test_mongo_uri.py::test_simple_ssl[flat-True]":{ - "reason": "errors upstream" + "reason": "KNOWN errors upstream" }, "test_storage_mongodb/test.py::test_secure_connection[True]":{ - "reason": "fails upstream" + "reason": "KNOWN fails upstream" }, "test_table_function_mongodb/test.py::test_secure_connection[True]":{ - "reason": "fails upstream" + "reason": "KNOWN fails upstream" + }, + "test_reload_certificate/test.py::test_chain_reload": { + "reason": "NEEDSFIX - fixed upstream, needs backport" + }, + "test_dictionaries_all_layouts_separate_sources/test_mongo.py::test_simple_ssl[flat-True]": { + "reason": "INVESTIGATE" + }, + "test_dictionaries_all_layouts_separate_sources/test_mongo.py::test_simple_ssl[hashed-True]": { + "reason": "INVESTIGATE" + }, + "test_dictionaries_all_layouts_separate_sources/test_mongo.py::test_simple_ssl[cache-True]": { + "reason": "INVESTIGATE" + }, + "test_quorum_inserts/test.py::test_insert_quorum_with_keeper_loss_connection": { + "reason": "INVESTIGATE" } } diff --git a/tests/ci/integration_tests_runner.py b/tests/ci/integration_tests_runner.py index 18725a509095..b41293422227 100755 --- a/tests/ci/integration_tests_runner.py +++ b/tests/ci/integration_tests_runner.py @@ -938,7 +938,7 @@ def run_impl(self, repo_path, build_path): ) for fail_status in ("ERROR", "FAILED"): - for failed_test in group_counters[fail_status]: + for failed_test in group_counters[fail_status].copy(): if failed_test in known_broken_tests.keys(): fail_message = known_broken_tests[failed_test].get("message") if not fail_message: