diff --git a/backport-0010-review_tool-support-continuous-items-fast-set.patch b/backport-0010-review_tool-support-continuous-items-fast-set.patch new file mode 100644 index 0000000000000000000000000000000000000000..b735cc69a610d0acfd7a70d0e35286c6f25d0f08 --- /dev/null +++ b/backport-0010-review_tool-support-continuous-items-fast-set.patch @@ -0,0 +1,82 @@ +From 32a9a927f6c96fde81ecef0c7b8b7e415f69012b Mon Sep 17 00:00:00 2001 +From: smileknife +Date: Tue, 23 Feb 2021 20:02:38 +0800 +Subject: [PATCH] review_tool:support continuous items fast set + +Signed-off-by: smileknife +--- + advisors/review_tool.py | 30 +++++++++++++++++++++--------- + 1 file changed, 21 insertions(+), 9 deletions(-) + +diff --git a/advisors/review_tool.py b/advisors/review_tool.py +index a50becd..1e59b06 100755 +--- a/advisors/review_tool.py ++++ b/advisors/review_tool.py +@@ -30,7 +30,7 @@ CHK_TABLE_HEADER = """ + + **{go}** 审视者确认符合要求 | **{nogo}** 审视者认为不符合要求 | **{na}** 审视者认为与本PR无关 | **{question}** 审视者无法确认是否符合要求 | **{ongoing}** 审视过程中 + **NOTE:** use command: "/review status[go/nogo/na/question/ongoing]:number_list[0,1,2 ...] ..." to update status. +-Example: "/review go:0,1,2 nogo:3,4,5". ++Example: "/review go:0,1,2 nogo:3,4,5" or "/review go:0-2 nogo:3-5". + You can use "/review status[go/nogo/na/question/ongoing]:999" if you need update all items as one status one time. + |审视项编号|审视类别|审视要求|审视要求说明|审视结果| + |:--:|:--:|:--|:--|:--:| +@@ -59,7 +59,8 @@ RRVIEW_STATUS = { + FLAG_EDIT_ALL = 999 + + PR_CONFLICT_COMMENT = "Conflict exists in PR.Please resolve conflict before review.@{owner}" +- ++FAILURE_COMMENT = """ ++Failed to create review list.You can try to rebuild using "/review retrigger".:confused:""" + + def check_new_code(branch): + """ +@@ -640,7 +641,7 @@ def prepare_env(work_dir, reuse, pr_tuple, branch): + return 1 + if exec_cmd(["git", "merge", "--no-edit", "pr_{n}".format(n=pull_id)],3) != 0: + print("Failed to merge PR:{n} to branch:{base}".format(n=pull_id,base=branch)) +- return 2 ++ return 1 + return 0 + + def cleanup_env(work_dir, group, repo_name, pull_id): +@@ -709,9 +710,22 @@ def decode_edit_content(edit): + nums = sect.split(":")[1] + for num in nums.split(","): + if not num.isdigit(): +- print("ERROR: input string contain invalid character.") +- return {} +- dicts[int(num)] = status ++ res = re.match("^([0-9]{1,3})-([0-9]{0,3})$",num) ++ if res: ++ start = int(res.group(1)) ++ end = FLAG_EDIT_ALL ++ if res.group(2): ++ end = int(res.group(2)) ++ if start >= end: ++ print("ERROR: input format error,start number must less than end.") ++ return {} ++ for i in range(start, end+1): ++ dicts[i] = status ++ else: ++ print("ERROR: input format error or contain invalid character.") ++ return {} ++ else: ++ dicts[int(num)] = status + return dicts + + +@@ -749,9 +763,7 @@ def main(): + branch = pull_request['base']['label'] + ret = prepare_env(work_dir, args.reuse, params, branch) + if ret != 0: +- if ret == 2: +- user_gitee.create_pr_comment(repo_name, pull_id, +- PR_CONFLICT_COMMENT.format(owner=pull_request['user']['login']), group) ++ user_gitee.create_pr_comment(repo_name, pull_id, FAILURE_COMMENT, group) + return 1 + review_comment = review(checklist, pull_request, repo_name, branch) + user_gitee.create_pr_comment(repo_name, pull_id, review_comment, group) +-- +1.8.3.1 + diff --git a/openEuler-Advisor.spec b/openEuler-Advisor.spec index e1954f4ab4d8ca7ab55f7d8d886d8b8d8c080888..4fd3a30d2abfc450ea36970ad21b890692e3f47e 100644 --- a/openEuler-Advisor.spec +++ b/openEuler-Advisor.spec @@ -1,6 +1,6 @@ Name: openEuler-Advisor Version: 1.0.0 -Release: 11 +Release: 12 Summary: Collection of automatic tools for easily maintaining openEuler Group: Application License: Mulan PSL v2 @@ -15,6 +15,7 @@ Patch5: backport-0006-prow_review_tool-only-process-source-update-event.patc Patch6: backport-0007-review_tool-do-some-improvements.patch Patch7: backport-0008-review_tool-fix-PR-conflicts.patch Patch8: backport-0009-review_tool-add-command-for-retrigger-rebuilding-rev.patch +Patch9: backport-0010-review_tool-support-continuous-items-fast-set.patch BuildArch: noarch BuildRequires: python3-pytest @@ -59,6 +60,9 @@ py.test-%{python3_version} -vv tests || : %attr(0755,root,root) %{_bindir}/prow_review_tool %changelog +* Wed Feb 24 2021 shanshishi - 1.0.0-12 +- review_tool: support continuous items fast set + * Sat Feb 20 2021 shanshishi - 1.0.0-11 - review_tool: add command for retrigger rebuilding review list - review_tool: review_tool:fix PR conflicts