mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-21 15:12:02 +00:00
Add processing A Sync
to ci.py
This commit is contained in:
parent
ba644d691e
commit
60336681b2
@ -17,7 +17,7 @@ from typing import Any, Dict, List, Optional, Sequence, Set, Tuple, Union
|
||||
import docker_images_helper
|
||||
import upload_result_helper
|
||||
from build_check import get_release_or_pr
|
||||
from ci_config import CI_CONFIG, Build, CILabels, CIStages, JobNames
|
||||
from ci_config import CI_CONFIG, Build, CILabels, CIStages, JobNames, StatusNames
|
||||
from ci_utils import GHActions, is_hex, normalize_string
|
||||
from clickhouse_helper import (
|
||||
CiLogsCredentials,
|
||||
@ -32,15 +32,19 @@ from commit_status_helper import (
|
||||
RerunHelper,
|
||||
format_description,
|
||||
get_commit,
|
||||
get_commit_filtered_statuses,
|
||||
post_commit_status,
|
||||
set_status_comment,
|
||||
trigger_mergeable_check,
|
||||
update_mergeable_check,
|
||||
)
|
||||
from digest_helper import DockerDigester, JobDigester
|
||||
from env_helper import (
|
||||
CI,
|
||||
GITHUB_JOB_API_URL,
|
||||
GITHUB_REPOSITORY,
|
||||
GITHUB_RUN_URL,
|
||||
GITHUB_UPSTREAM_REPOSITORY,
|
||||
REPO_COPY,
|
||||
REPORT_PATH,
|
||||
S3_BUILDS_BUCKET,
|
||||
@ -51,8 +55,9 @@ from git_helper import GIT_PREFIX, Git
|
||||
from git_helper import Runner as GitRunner
|
||||
from github_helper import GitHub
|
||||
from pr_info import PRInfo
|
||||
from report import ERROR, SUCCESS, BuildResult, JobReport
|
||||
from report import ERROR, SUCCESS, BuildResult, JobReport, get_status
|
||||
from s3_helper import S3Helper
|
||||
from synchronizer_utils import SYNC_BRANCH_PREFIX
|
||||
from version_helper import get_version_from_repo
|
||||
|
||||
# pylint: disable=too-many-lines
|
||||
@ -2106,6 +2111,7 @@ def main() -> int:
|
||||
check_url = log_url
|
||||
else:
|
||||
# test job
|
||||
gh = GitHub(get_best_robot_token(), per_page=100)
|
||||
additional_urls = []
|
||||
s3_path_prefix = "/".join(
|
||||
(
|
||||
@ -2133,9 +2139,7 @@ def main() -> int:
|
||||
job_report.check_name or _get_ext_check_name(args.job_name),
|
||||
additional_urls=additional_urls or None,
|
||||
)
|
||||
commit = get_commit(
|
||||
GitHub(get_best_robot_token(), per_page=100), pr_info.sha
|
||||
)
|
||||
commit = get_commit(gh, pr_info.sha)
|
||||
post_commit_status(
|
||||
commit,
|
||||
job_report.status,
|
||||
@ -2147,12 +2151,49 @@ def main() -> int:
|
||||
)
|
||||
if not pr_info.is_merge_queue:
|
||||
# in the merge queue mergeable status must be set only in FinishCheck (last job in wf)
|
||||
update_mergeable_check(
|
||||
mergeable_status = update_mergeable_check(
|
||||
commit,
|
||||
pr_info,
|
||||
job_report.check_name or _get_ext_check_name(args.job_name),
|
||||
)
|
||||
|
||||
# Process upstream StatusNames.SYNC
|
||||
if (
|
||||
pr_info.head_ref.startswith(f"{SYNC_BRANCH_PREFIX}/pr/")
|
||||
and mergeable_status
|
||||
and GITHUB_REPOSITORY != GITHUB_UPSTREAM_REPOSITORY
|
||||
):
|
||||
pr_number = int(pr_info.head_ref.split("/pr/", maxsplit=1)[1])
|
||||
upstream_repo = gh.get_repo(GITHUB_UPSTREAM_REPOSITORY)
|
||||
head_sha = upstream_repo.get_pull(pr_number).head.sha
|
||||
upstream_commit = upstream_repo.get_commit(head_sha)
|
||||
post_commit_status(
|
||||
upstream_commit,
|
||||
get_status(mergeable_status.state),
|
||||
mergeable_status.target_url,
|
||||
mergeable_status.description,
|
||||
StatusNames.SYNC,
|
||||
)
|
||||
trigger_mergeable_check(
|
||||
upstream_commit,
|
||||
get_commit_filtered_statuses(upstream_commit),
|
||||
True,
|
||||
)
|
||||
|
||||
prepared_events = prepare_tests_results_for_clickhouse(
|
||||
pr_info,
|
||||
[],
|
||||
job_report.status,
|
||||
0,
|
||||
job_report.start_time,
|
||||
f"https://github.com/ClickHouse/ClickHouse/pull/{pr_number}",
|
||||
StatusNames.SYNC,
|
||||
)
|
||||
prepared_events[0]["test_context_raw"] = args.job_name
|
||||
ch_helper.insert_events_into(
|
||||
db="default", table="checks", events=prepared_events
|
||||
)
|
||||
|
||||
print(f"Job report url: [{check_url}]")
|
||||
prepared_events = prepare_tests_results_for_clickhouse(
|
||||
pr_info,
|
||||
|
@ -22,6 +22,9 @@ GITHUB_JOB = os.getenv("GITHUB_JOB_OVERRIDDEN", "") or os.getenv("GITHUB_JOB", "
|
||||
GITHUB_REPOSITORY = os.getenv("GITHUB_REPOSITORY", "ClickHouse/ClickHouse")
|
||||
GITHUB_RUN_ID = os.getenv("GITHUB_RUN_ID", "0")
|
||||
GITHUB_SERVER_URL = os.getenv("GITHUB_SERVER_URL", "https://github.com")
|
||||
GITHUB_UPSTREAM_REPOSITORY = os.getenv(
|
||||
"GITHUB_UPSTREAM_REPOSITORY", "ClickHouse/ClickHouse"
|
||||
)
|
||||
GITHUB_WORKSPACE = os.getenv("GITHUB_WORKSPACE", git_root)
|
||||
GITHUB_RUN_URL = f"{GITHUB_SERVER_URL}/{GITHUB_REPOSITORY}/actions/runs/{GITHUB_RUN_ID}"
|
||||
IMAGES_PATH = os.getenv("IMAGES_PATH", TEMP_PATH)
|
||||
|
4
tests/ci/synchronizer_utils.py
Normal file
4
tests/ci/synchronizer_utils.py
Normal file
@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
SYNC_BRANCH_PREFIX = "sync-upstream"
|
||||
SYNC_MASTER_BRANCH = f"{SYNC_BRANCH_PREFIX}/master"
|
Loading…
Reference in New Issue
Block a user