Skip to content

Commit

Permalink
[IMP] ocabot merge : check line in migration issue
Browse files Browse the repository at this point in the history
  • Loading branch information
legalsylvain committed Jul 1, 2022
1 parent 702e879 commit 616a9a1
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
13 changes: 13 additions & 0 deletions src/oca_github_bot/tasks/merge_bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@
from ..utils import hide_secrets
from ..version_branch import make_merge_bot_branch, parse_merge_bot_branch
from .main_branch_bot import main_branch_bot_actions
from .migration_issue_bot import (
_create_or_find_branch_milestone,
_find_issue,
_check_line_issue
)

_logger = getLogger(__name__)

Expand Down Expand Up @@ -186,6 +191,7 @@ def _merge_bot_merge_pr(org, repo, merge_bot_branch, cwd, dry_run=False):
_git_delete_branch("origin", merge_bot_branch, cwd=cwd)
with github.login() as gh:
gh_pr = gh.pull_request(org, repo, pr)
gh_repo = gh.repository(org, repo)
merge_sha = github.git_get_head_sha(cwd=cwd)
github.gh_call(
gh_pr.create_comment,
Expand All @@ -200,6 +206,13 @@ def _merge_bot_merge_pr(org, repo, merge_bot_branch, cwd, dry_run=False):
_logger.info(f"add {LABEL_MERGED} label to PR {gh_pr.url}")
github.gh_call(gh_issue.add_labels, LABEL_MERGED)
github.gh_call(gh_pr.close)

# Check line in migration issue if required
milestone = _create_or_find_branch_milestone(gh_repo, target_branch)
migration_issue = _find_issue(gh_repo, milestone, target_branch)
if migration_issue:
lines = _check_line_issue(gh_pr, migration_issue)
migration_issue.edit(body="\n".join(lines))
return True


Expand Down
9 changes: 9 additions & 0 deletions src/oca_github_bot/tasks/migration_issue_bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,15 @@ def _find_issue(gh_repo, milestone, target_branch):
break
return issue

def _check_line_issue(gh_pr, issue):
lines = []
regex = r"\#%s\b" % gh_pr.number
for line in issue.body.split("\n"):
if re.findall(regex, line):
lines.append(line[:3] + "x" + line[4:])
break
lines.append(line)
return lines

def _set_lines_issue(gh_pr, issue, module):
lines = []
Expand Down

0 comments on commit 616a9a1

Please sign in to comment.