ClickHouse/tests/ci/ci_config.py
2022-05-18 01:38:44 +02:00

368 lines
12 KiB
Python

#!/usr/bin/env python3
from typing import Dict, TypeVar
ConfValue = TypeVar("ConfValue", str, bool)
BuildConfig = Dict[str, ConfValue]
CI_CONFIG = {
"build_config": {
"package_release": {
"compiler": "clang-13",
"build_type": "",
"sanitizer": "",
"package_type": "deb",
"bundled": "bundled",
"splitted": "unsplitted",
"additional_pkgs": True,
"tidy": "disable",
"with_coverage": False,
},
"coverity": {
"compiler": "clang-13",
"build_type": "",
"sanitizer": "",
"package_type": "coverity",
"bundled": "bundled",
"splitted": "unsplitted",
"tidy": "disable",
"with_coverage": False,
"official": False,
},
# FIXME update to gcc-12 and turn on
# "binary_gcc": {
# "compiler": "gcc-11",
# "build_type": "",
# "sanitizer": "",
# "package_type": "binary",
# "bundled": "bundled",
# "splitted": "unsplitted",
# "tidy": "disable",
# "with_coverage": False,
# },
"package_aarch64": {
"compiler": "clang-13-aarch64",
"build_type": "",
"sanitizer": "",
"package_type": "deb",
"bundled": "bundled",
"splitted": "unsplitted",
"additional_pkgs": True,
"tidy": "disable",
"with_coverage": False,
},
"package_asan": {
"compiler": "clang-13",
"build_type": "",
"sanitizer": "address",
"package_type": "deb",
"bundled": "bundled",
"splitted": "unsplitted",
"tidy": "disable",
"with_coverage": False,
},
"package_ubsan": {
"compiler": "clang-13",
"build_type": "",
"sanitizer": "undefined",
"package_type": "deb",
"bundled": "bundled",
"splitted": "unsplitted",
"tidy": "disable",
"with_coverage": False,
},
"package_tsan": {
"compiler": "clang-13",
"build_type": "",
"sanitizer": "thread",
"package_type": "deb",
"bundled": "bundled",
"splitted": "unsplitted",
"tidy": "disable",
"with_coverage": False,
},
"package_msan": {
"compiler": "clang-13",
"build_type": "",
"sanitizer": "memory",
"package_type": "deb",
"bundled": "bundled",
"splitted": "unsplitted",
"tidy": "disable",
"with_coverage": False,
},
"package_debug": {
"compiler": "clang-13",
"build_type": "debug",
"sanitizer": "",
"package_type": "deb",
"bundled": "bundled",
"splitted": "unsplitted",
"tidy": "disable",
"with_coverage": False,
},
"binary_release": {
"compiler": "clang-13",
"build_type": "",
"sanitizer": "",
"package_type": "binary",
"static_binary_name": "amd64",
"bundled": "bundled",
"splitted": "unsplitted",
"tidy": "disable",
"with_coverage": False,
},
"binary_tidy": {
"compiler": "clang-13",
"build_type": "debug",
"sanitizer": "",
"package_type": "binary",
"static_binary_name": "debug-amd64",
"bundled": "bundled",
"splitted": "unsplitted",
"tidy": "enable",
"with_coverage": False,
},
"binary_splitted": {
"compiler": "clang-13",
"build_type": "",
"sanitizer": "",
"package_type": "binary",
"bundled": "bundled",
"splitted": "splitted",
"tidy": "disable",
"with_coverage": False,
},
"binary_darwin": {
"compiler": "clang-13-darwin",
"build_type": "",
"sanitizer": "",
"package_type": "binary",
"static_binary_name": "macos",
"bundled": "bundled",
"splitted": "unsplitted",
"tidy": "disable",
"with_coverage": False,
},
"binary_aarch64": {
"compiler": "clang-13-aarch64",
"build_type": "",
"sanitizer": "",
"package_type": "binary",
"static_binary_name": "aarch64",
"bundled": "bundled",
"splitted": "unsplitted",
"tidy": "disable",
"with_coverage": False,
},
"binary_freebsd": {
"compiler": "clang-13-freebsd",
"build_type": "",
"sanitizer": "",
"package_type": "binary",
"static_binary_name": "freebsd",
"bundled": "bundled",
"splitted": "unsplitted",
"tidy": "disable",
"with_coverage": False,
},
"binary_darwin_aarch64": {
"compiler": "clang-13-darwin-aarch64",
"build_type": "",
"sanitizer": "",
"package_type": "binary",
"static_binary_name": "macos-aarch64",
"bundled": "bundled",
"splitted": "unsplitted",
"tidy": "disable",
"with_coverage": False,
},
"binary_ppc64le": {
"compiler": "clang-13-ppc64le",
"build_type": "",
"sanitizer": "",
"package_type": "binary",
"static_binary_name": "powerpc64le",
"bundled": "bundled",
"splitted": "unsplitted",
"tidy": "disable",
"with_coverage": False,
},
},
"builds_report_config": {
"ClickHouse build check (actions)": [
"package_release",
"coverity",
"package_aarch64",
"package_asan",
"package_ubsan",
"package_tsan",
"package_msan",
"package_debug",
"binary_release",
],
"ClickHouse special build check (actions)": [
"binary_tidy",
"binary_splitted",
"binary_darwin",
"binary_aarch64",
"binary_freebsd",
"binary_darwin_aarch64",
"binary_ppc64le",
# "binary_gcc",
],
},
"tests_config": {
# required_build - build name for artifacts
# force_tests - force success status for tests
"Stateful tests (address, actions)": {
"required_build": "package_asan",
},
"Stateful tests (thread, actions)": {
"required_build": "package_tsan",
},
"Stateful tests (memory, actions)": {
"required_build": "package_msan",
},
"Stateful tests (ubsan, actions)": {
"required_build": "package_ubsan",
},
"Stateful tests (debug, actions)": {
"required_build": "package_debug",
},
"Stateful tests (release, actions)": {
"required_build": "package_release",
},
"Stateful tests (aarch64, actions)": {
"required_build": "package_aarch64",
},
"Stateful tests (release, DatabaseOrdinary, actions)": {
"required_build": "package_release",
},
"Stateful tests (release, DatabaseReplicated, actions)": {
"required_build": "package_release",
},
"Stateless tests (address, actions)": {
"required_build": "package_asan",
},
"Stateless tests (thread, actions)": {
"required_build": "package_tsan",
},
"Stateless tests (memory, actions)": {
"required_build": "package_msan",
},
"Stateless tests (ubsan, actions)": {
"required_build": "package_ubsan",
},
"Stateless tests (debug, actions)": {
"required_build": "package_debug",
},
"Stateless tests (release, actions)": {
"required_build": "package_release",
},
"Stateless tests (aarch64, actions)": {
"required_build": "package_aarch64",
},
"Stateless tests (release, wide parts enabled, actions)": {
"required_build": "package_release",
},
"Stateless tests (release, DatabaseOrdinary, actions)": {
"required_build": "package_release",
},
"Stateless tests (release, DatabaseReplicated, actions)": {
"required_build": "package_release",
},
"Stateless tests (release, s3 storage, actions)": {
"required_build": "package_release",
"force_tests": True,
},
"Stress test (address, actions)": {
"required_build": "package_asan",
},
"Stress test (thread, actions)": {
"required_build": "package_tsan",
},
"Stress test (undefined, actions)": {
"required_build": "package_ubsan",
},
"Stress test (memory, actions)": {
"required_build": "package_msan",
},
"Stress test (debug, actions)": {
"required_build": "package_debug",
},
"Integration tests (asan, actions)": {
"required_build": "package_asan",
},
"Integration tests (thread, actions)": {
"required_build": "package_tsan",
},
"Integration tests (release, actions)": {
"required_build": "package_release",
},
"Integration tests (memory, actions)": {
"required_build": "package_msan",
},
"Integration tests flaky check (asan, actions)": {
"required_build": "package_asan",
},
"Compatibility check (actions)": {
"required_build": "package_release",
},
"Split build smoke test (actions)": {
"required_build": "binary_splitted",
},
"Testflows check (actions)": {
"required_build": "package_release",
},
# "Unit tests (release-gcc, actions)": {
# "required_build": "binary_gcc",
# },
"Unit tests (release-clang, actions)": {
"required_build": "binary_release",
},
"Unit tests (asan, actions)": {
"required_build": "package_asan",
},
"Unit tests (msan, actions)": {
"required_build": "package_msan",
},
"Unit tests (tsan, actions)": {
"required_build": "package_tsan",
},
"Unit tests (ubsan, actions)": {
"required_build": "package_ubsan",
},
"AST fuzzer (debug, actions)": {
"required_build": "package_debug",
},
"AST fuzzer (ASan, actions)": {
"required_build": "package_asan",
},
"AST fuzzer (MSan, actions)": {
"required_build": "package_msan",
},
"AST fuzzer (TSan, actions)": {
"required_build": "package_tsan",
},
"AST fuzzer (UBSan, actions)": {
"required_build": "package_ubsan",
},
"Release (actions)": {
"required_build": "package_release",
},
"Stateless tests flaky check (address, actions)": {
"required_build": "package_asan",
},
"Stateless tests bugfix validate check (address, actions)": {
"required_build": "package_asan",
},
"ClickHouse Keeper Jepsen (actions)": {
"required_build": "binary_release",
},
"Performance Comparison (actions)": {
"required_build": "package_release",
},
},
} # type: dict