mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-12 09:22:05 +00:00
95 lines
2.2 KiB
Python
95 lines
2.2 KiB
Python
from typing import List
|
|
|
|
from praktika import Artifact, Job, Workflow
|
|
from praktika.settings import Settings
|
|
|
|
from ci.settings.definitions import (
|
|
BASE_BRANCH,
|
|
DOCKERS,
|
|
SECRETS,
|
|
JobNames,
|
|
RunnerLabels,
|
|
)
|
|
|
|
|
|
class ArtifactNames:
|
|
ch_debug_binary = "clickhouse_debug_binary"
|
|
|
|
|
|
style_check_job = Job.Config(
|
|
name=JobNames.STYLE_CHECK,
|
|
runs_on=[RunnerLabels.CI_SERVICES],
|
|
command="python3 ./ci/jobs/check_style.py",
|
|
run_in_docker="clickhouse/style-test",
|
|
)
|
|
|
|
fast_test_job = Job.Config(
|
|
name=JobNames.FAST_TEST,
|
|
runs_on=[RunnerLabels.BUILDER],
|
|
command="python3 ./ci/jobs/fast_test.py",
|
|
run_in_docker="clickhouse/fasttest",
|
|
digest_config=Job.CacheDigestConfig(
|
|
include_paths=[
|
|
"./ci/jobs/fast_test.py",
|
|
"./tests/queries/0_stateless/",
|
|
"./src",
|
|
],
|
|
),
|
|
)
|
|
|
|
job_build_amd_debug = Job.Config(
|
|
name=JobNames.BUILD_AMD_DEBUG,
|
|
runs_on=[RunnerLabels.BUILDER],
|
|
command="python3 ./ci/jobs/build_clickhouse.py amd_debug",
|
|
run_in_docker="clickhouse/fasttest",
|
|
digest_config=Job.CacheDigestConfig(
|
|
include_paths=[
|
|
"./src",
|
|
"./contrib/",
|
|
"./CMakeLists.txt",
|
|
"./PreLoad.cmake",
|
|
"./cmake",
|
|
"./base",
|
|
"./programs",
|
|
"./docker/packager/packager",
|
|
"./rust",
|
|
"./tests/ci/version_helper.py",
|
|
],
|
|
),
|
|
provides=[ArtifactNames.ch_debug_binary],
|
|
)
|
|
|
|
workflow = Workflow.Config(
|
|
name="PR",
|
|
event=Workflow.Event.PULL_REQUEST,
|
|
base_branches=[BASE_BRANCH],
|
|
jobs=[
|
|
style_check_job,
|
|
fast_test_job,
|
|
job_build_amd_debug,
|
|
],
|
|
artifacts=[
|
|
Artifact.Config(
|
|
name=ArtifactNames.ch_debug_binary,
|
|
type=Artifact.Type.S3,
|
|
path=f"{Settings.TEMP_DIR}/build/programs/clickhouse",
|
|
)
|
|
],
|
|
dockers=DOCKERS,
|
|
secrets=SECRETS,
|
|
enable_cache=True,
|
|
enable_report=True,
|
|
enable_merge_ready_status=True,
|
|
)
|
|
|
|
WORKFLOWS = [
|
|
workflow,
|
|
] # type: List[Workflow.Config]
|
|
|
|
|
|
if __name__ == "__main__":
|
|
# local job test inside praktika environment
|
|
from praktika.runner import Runner
|
|
|
|
Runner().run(workflow, fast_test_job, docker="fasttest", dummy_env=True)
|