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: