ClickHouse/tests/ci/ci_config.py

347 lines
10 KiB
Python
Raw Normal View History

2021-11-12 11:12:42 +00:00
#!/usr/bin/env python3
2022-01-12 12:14:31 +00:00
from typing import Dict, TypeVar
ConfValue = TypeVar("ConfValue", str, bool)
BuildConfig = Dict[str, ConfValue]
2021-11-12 11:12:42 +00:00
CI_CONFIG = {
"build_config": {
"package_release": {
2022-02-19 17:43:02 +00:00
"compiler": "clang-14",
2021-11-12 12:13:13 +00:00
"build_type": "",
2021-11-12 11:12:42 +00:00
"sanitizer": "",
2021-11-12 12:13:13 +00:00
"package_type": "deb",
"static_binary_name": "amd64",
"libraries": "static",
2022-03-14 21:06:53 +00:00
"additional_pkgs": True,
2021-11-12 11:12:42 +00:00
"tidy": "disable",
2021-12-14 17:47:45 +00:00
"with_coverage": False,
2021-11-12 11:12:42 +00:00
},
"coverity": {
2022-05-22 20:38:07 +00:00
"compiler": "clang-14",
"build_type": "",
"sanitizer": "",
"package_type": "coverity",
"libraries": "static",
"tidy": "disable",
"with_coverage": False,
2022-05-13 17:22:23 +00:00
"official": False,
},
2021-12-08 21:52:00 +00:00
"package_aarch64": {
2022-02-19 17:43:02 +00:00
"compiler": "clang-14-aarch64",
2021-12-08 21:52:00 +00:00
"build_type": "",
"sanitizer": "",
"package_type": "deb",
"static_binary_name": "aarch64",
"libraries": "static",
2022-03-14 21:06:53 +00:00
"additional_pkgs": True,
2021-12-08 21:52:00 +00:00
"tidy": "disable",
"with_coverage": False,
},
"package_asan": {
2022-02-19 17:43:02 +00:00
"compiler": "clang-14",
2021-11-12 12:13:13 +00:00
"build_type": "",
2021-11-12 11:12:42 +00:00
"sanitizer": "address",
2021-11-12 12:13:13 +00:00
"package_type": "deb",
"libraries": "static",
2021-11-12 11:12:42 +00:00
"tidy": "disable",
2021-12-14 17:47:45 +00:00
"with_coverage": False,
2021-11-12 11:12:42 +00:00
},
"package_ubsan": {
2022-02-19 17:43:02 +00:00
"compiler": "clang-14",
2021-11-12 12:13:13 +00:00
"build_type": "",
2021-11-12 11:12:42 +00:00
"sanitizer": "undefined",
2021-11-12 12:13:13 +00:00
"package_type": "deb",
"libraries": "static",
2021-11-12 11:12:42 +00:00
"tidy": "disable",
2021-12-14 17:47:45 +00:00
"with_coverage": False,
2021-11-12 11:12:42 +00:00
},
"package_tsan": {
2022-07-31 12:38:13 +00:00
"compiler": "clang-15",
2021-11-12 12:13:13 +00:00
"build_type": "",
2021-11-12 11:12:42 +00:00
"sanitizer": "thread",
2021-11-12 12:13:13 +00:00
"package_type": "deb",
"libraries": "static",
2021-11-12 11:12:42 +00:00
"tidy": "disable",
2021-12-14 17:47:45 +00:00
"with_coverage": False,
2021-11-12 11:12:42 +00:00
},
"package_msan": {
2022-02-19 17:43:02 +00:00
"compiler": "clang-14",
2021-11-12 12:13:13 +00:00
"build_type": "",
2021-11-12 11:12:42 +00:00
"sanitizer": "memory",
2021-11-12 12:13:13 +00:00
"package_type": "deb",
"libraries": "static",
2021-11-12 11:12:42 +00:00
"tidy": "disable",
2021-12-14 17:47:45 +00:00
"with_coverage": False,
2021-11-12 11:12:42 +00:00
},
"package_debug": {
2022-02-19 17:43:02 +00:00
"compiler": "clang-14",
2021-11-12 12:13:13 +00:00
"build_type": "debug",
2021-11-12 11:12:42 +00:00
"sanitizer": "",
2021-11-12 12:13:13 +00:00
"package_type": "deb",
"libraries": "static",
2021-11-12 11:12:42 +00:00
"tidy": "disable",
2021-12-14 17:47:45 +00:00
"with_coverage": False,
2021-11-12 11:12:42 +00:00
},
"binary_release": {
2022-02-19 17:43:02 +00:00
"compiler": "clang-14",
2021-11-12 12:13:13 +00:00
"build_type": "",
2021-11-12 11:12:42 +00:00
"sanitizer": "",
2021-11-12 12:13:13 +00:00
"package_type": "binary",
"libraries": "static",
2021-11-12 11:12:42 +00:00
"tidy": "disable",
2021-12-14 17:47:45 +00:00
"with_coverage": False,
},
2021-11-30 12:45:18 +00:00
"binary_tidy": {
2022-02-19 17:43:02 +00:00
"compiler": "clang-14",
2021-11-12 12:13:13 +00:00
"build_type": "debug",
2021-11-12 11:12:42 +00:00
"sanitizer": "",
2021-11-30 12:45:18 +00:00
"package_type": "binary",
2022-01-13 12:55:51 +00:00
"static_binary_name": "debug-amd64",
"libraries": "static",
2021-11-12 11:12:42 +00:00
"tidy": "enable",
2021-12-14 17:47:45 +00:00
"with_coverage": False,
2021-11-12 11:12:42 +00:00
},
2022-07-31 12:43:50 +00:00
"binary_shared": {
2022-02-19 17:43:02 +00:00
"compiler": "clang-14",
2021-11-12 12:13:13 +00:00
"build_type": "",
2021-11-12 11:12:42 +00:00
"sanitizer": "",
2021-11-12 12:13:13 +00:00
"package_type": "binary",
"libraries": "shared",
2021-11-12 11:12:42 +00:00
"tidy": "disable",
2021-12-14 17:47:45 +00:00
"with_coverage": False,
2021-11-12 11:12:42 +00:00
},
"binary_darwin": {
2022-02-19 17:43:02 +00:00
"compiler": "clang-14-darwin",
2021-11-12 12:13:13 +00:00
"build_type": "",
2021-11-12 11:12:42 +00:00
"sanitizer": "",
2021-11-12 12:13:13 +00:00
"package_type": "binary",
2022-01-13 12:55:51 +00:00
"static_binary_name": "macos",
"libraries": "static",
2021-11-12 11:12:42 +00:00
"tidy": "disable",
2021-12-14 17:47:45 +00:00
"with_coverage": False,
2021-11-12 11:12:42 +00:00
},
"binary_aarch64": {
2022-02-19 17:43:02 +00:00
"compiler": "clang-14-aarch64",
2021-11-12 12:13:13 +00:00
"build_type": "",
2021-11-12 11:12:42 +00:00
"sanitizer": "",
2021-11-12 12:13:13 +00:00
"package_type": "binary",
"libraries": "static",
2021-11-12 11:12:42 +00:00
"tidy": "disable",
2021-12-14 17:47:45 +00:00
"with_coverage": False,
2021-11-12 11:12:42 +00:00
},
"binary_freebsd": {
2022-02-19 17:43:02 +00:00
"compiler": "clang-14-freebsd",
2021-11-12 12:13:13 +00:00
"build_type": "",
2021-11-12 11:12:42 +00:00
"sanitizer": "",
2021-11-12 12:13:13 +00:00
"package_type": "binary",
2022-01-13 12:55:51 +00:00
"static_binary_name": "freebsd",
"libraries": "static",
2021-11-12 11:12:42 +00:00
"tidy": "disable",
2021-12-14 17:47:45 +00:00
"with_coverage": False,
2021-11-12 11:12:42 +00:00
},
"binary_darwin_aarch64": {
2022-02-19 17:43:02 +00:00
"compiler": "clang-14-darwin-aarch64",
2021-11-12 12:13:13 +00:00
"build_type": "",
2021-11-12 11:12:42 +00:00
"sanitizer": "",
2021-11-12 12:13:13 +00:00
"package_type": "binary",
2022-01-13 12:55:51 +00:00
"static_binary_name": "macos-aarch64",
"libraries": "static",
2021-11-12 11:12:42 +00:00
"tidy": "disable",
2021-12-14 17:47:45 +00:00
"with_coverage": False,
2021-11-12 11:12:42 +00:00
},
"binary_ppc64le": {
2022-02-19 17:43:02 +00:00
"compiler": "clang-14-ppc64le",
2021-11-12 12:13:13 +00:00
"build_type": "",
2021-11-12 11:12:42 +00:00
"sanitizer": "",
2021-11-12 12:13:13 +00:00
"package_type": "binary",
"static_binary_name": "powerpc64le",
"libraries": "static",
2021-11-12 11:12:42 +00:00
"tidy": "disable",
2021-12-14 17:47:45 +00:00
"with_coverage": False,
},
},
2021-11-30 15:33:29 +00:00
"builds_report_config": {
2022-07-21 10:27:45 +00:00
"ClickHouse build check": [
2021-11-30 15:33:29 +00:00
"package_release",
"coverity",
2021-12-08 21:52:00 +00:00
"package_aarch64",
2021-11-30 15:33:29 +00:00
"package_asan",
"package_ubsan",
"package_tsan",
"package_msan",
"package_debug",
2021-12-14 17:47:45 +00:00
"binary_release",
2021-11-30 15:33:29 +00:00
],
2022-07-21 10:27:45 +00:00
"ClickHouse special build check": [
2021-11-30 15:33:29 +00:00
"binary_tidy",
2022-07-31 12:43:50 +00:00
"binary_shared",
2021-11-30 15:33:29 +00:00
"binary_darwin",
2021-12-15 07:45:27 +00:00
"binary_aarch64",
2021-11-30 15:33:29 +00:00
"binary_freebsd",
2021-12-15 07:45:27 +00:00
"binary_darwin_aarch64",
"binary_ppc64le",
2021-11-30 15:33:29 +00:00
],
},
2021-11-12 11:12:42 +00:00
"tests_config": {
2022-01-10 16:45:17 +00:00
# required_build - build name for artifacts
# force_tests - force success status for tests
2022-07-21 10:32:54 +00:00
"Stateful tests (address)": {
"required_build": "package_asan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:32:54 +00:00
"Stateful tests (thread)": {
"required_build": "package_tsan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:32:54 +00:00
"Stateful tests (memory)": {
"required_build": "package_msan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:32:54 +00:00
"Stateful tests (ubsan)": {
"required_build": "package_ubsan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:32:54 +00:00
"Stateful tests (debug)": {
"required_build": "package_debug",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:32:54 +00:00
"Stateful tests (release)": {
"required_build": "package_release",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:32:54 +00:00
"Stateful tests (aarch64)": {
2021-12-20 11:40:27 +00:00
"required_build": "package_aarch64",
},
2022-07-21 10:32:54 +00:00
"Stateful tests (release, DatabaseOrdinary)": {
"required_build": "package_release",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:32:54 +00:00
"Stateful tests (release, DatabaseReplicated)": {
"required_build": "package_release",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:36:25 +00:00
"Stateless tests (address)": {
"required_build": "package_asan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:36:25 +00:00
"Stateless tests (thread)": {
"required_build": "package_tsan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:36:25 +00:00
"Stateless tests (memory)": {
"required_build": "package_msan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:36:25 +00:00
"Stateless tests (ubsan)": {
"required_build": "package_ubsan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:36:25 +00:00
"Stateless tests (debug)": {
"required_build": "package_debug",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:36:25 +00:00
"Stateless tests (release)": {
"required_build": "package_release",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:36:25 +00:00
"Stateless tests (aarch64)": {
2021-12-20 11:40:27 +00:00
"required_build": "package_aarch64",
},
2022-07-21 10:36:25 +00:00
"Stateless tests (release, wide parts enabled)": {
"required_build": "package_release",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:36:25 +00:00
"Stateless tests (release, DatabaseOrdinary)": {
"required_build": "package_release",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:36:25 +00:00
"Stateless tests (release, DatabaseReplicated)": {
"required_build": "package_release",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:36:25 +00:00
"Stateless tests (release, s3 storage)": {
"required_build": "package_release",
},
2022-07-21 10:41:49 +00:00
"Stress test (address)": {
"required_build": "package_asan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:41:49 +00:00
"Stress test (thread)": {
"required_build": "package_tsan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:41:49 +00:00
"Stress test (undefined)": {
"required_build": "package_ubsan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:41:49 +00:00
"Stress test (memory)": {
"required_build": "package_msan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:41:49 +00:00
"Stress test (debug)": {
"required_build": "package_debug",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:43:42 +00:00
"Integration tests (asan)": {
"required_build": "package_asan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:43:42 +00:00
"Integration tests (thread)": {
"required_build": "package_tsan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:43:42 +00:00
"Integration tests (release)": {
"required_build": "package_release",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:43:42 +00:00
"Integration tests (memory)": {
"required_build": "package_msan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:58:36 +00:00
"Integration tests flaky check (asan)": {
"required_build": "package_asan",
2021-11-12 11:12:42 +00:00
},
"Compatibility check": {
"required_build": "package_release",
2021-11-12 11:12:42 +00:00
},
"Split build smoke test": {
2022-07-31 12:43:50 +00:00
"required_build": "binary_shared",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:45:46 +00:00
"Unit tests (release-clang)": {
2021-11-26 13:37:46 +00:00
"required_build": "binary_release",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:45:46 +00:00
"Unit tests (asan)": {
"required_build": "package_asan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:45:46 +00:00
"Unit tests (msan)": {
"required_build": "package_msan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:45:46 +00:00
"Unit tests (tsan)": {
"required_build": "package_tsan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:45:46 +00:00
"Unit tests (ubsan)": {
"required_build": "package_ubsan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:47:49 +00:00
"AST fuzzer (debug)": {
"required_build": "package_debug",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:47:49 +00:00
"AST fuzzer (ASan)": {
"required_build": "package_asan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:47:49 +00:00
"AST fuzzer (MSan)": {
"required_build": "package_msan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:47:49 +00:00
"AST fuzzer (TSan)": {
"required_build": "package_tsan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:47:49 +00:00
"AST fuzzer (UBSan)": {
"required_build": "package_ubsan",
2021-11-12 11:12:42 +00:00
},
2022-07-21 10:58:36 +00:00
"Stateless tests flaky check (address)": {
"required_build": "package_asan",
2021-11-12 11:12:42 +00:00
},
"ClickHouse Keeper Jepsen": {
"required_build": "binary_release",
2021-11-17 09:41:19 +00:00
},
"Performance Comparison": {
"required_build": "package_release",
2022-06-02 14:13:52 +00:00
"test_grep_exclude_filter": "",
2021-12-14 17:47:45 +00:00
},
2022-05-24 19:47:49 +00:00
"Performance Comparison Aarch64": {
"required_build": "package_aarch64",
2022-06-02 14:13:52 +00:00
"test_grep_exclude_filter": "constant_column_search",
2022-05-24 19:47:49 +00:00
},
2021-12-14 17:47:45 +00:00
},
2022-01-12 12:14:31 +00:00
} # type: dict
# checks required by Mergeable Check
REQUIRED_CHECKS = [
"Fast test",
"Style Check",
"ClickHouse build check",
"ClickHouse special build check",
"Stateful tests (release)",
"Stateless tests (release)",
2022-08-15 23:05:40 +00:00
"Unit tests (release-clang)",
"Unit tests (asan)",
"Unit tests (msan)",
"Unit tests (tsan)",
"Unit tests (ubsan)",
]