Merge "Don't add PR title in commit message on squash"
This commit is contained in:
commit
1ba52ec372
|
@ -730,7 +730,7 @@ class FakeGithubSession(object):
|
|||
'message': 'Merge not allowed because of fake reason',
|
||||
}
|
||||
return FakeResponse(data, 405, 'Method not allowed')
|
||||
pr.setMerged(json["commit_message"])
|
||||
pr.setMerged(json.get("commit_message", ""))
|
||||
return FakeResponse({"merged": True}, 200)
|
||||
|
||||
return FakeResponse(None, 404)
|
||||
|
|
|
@ -1430,7 +1430,9 @@ class TestGithubDriver(ZuulTestCase):
|
|||
repo._set_branch_protection(
|
||||
'master', contexts=['tenant-one/check', 'tenant-one/gate'])
|
||||
|
||||
A = self.fake_github.openFakePullRequest('org/project', 'master', 'A')
|
||||
pr_description = "PR description"
|
||||
A = self.fake_github.openFakePullRequest('org/project', 'master', 'A',
|
||||
body_text=pr_description)
|
||||
self.fake_github.emitEvent(A.getPullRequestOpenedEvent())
|
||||
self.waitUntilSettled()
|
||||
|
||||
|
@ -1448,6 +1450,9 @@ class TestGithubDriver(ZuulTestCase):
|
|||
merges = [report for report in self.fake_github.github_data.reports
|
||||
if report[2] == 'merge']
|
||||
assert (len(merges) == 1 and merges[0][3] == 'squash')
|
||||
# Assert that we won't duplicate the PR title in the merge
|
||||
# message description.
|
||||
self.assertEqual(A.merge_message, pr_description)
|
||||
|
||||
@simple_layout('layouts/basic-github.yaml', driver='github')
|
||||
def test_invalid_event(self):
|
||||
|
|
|
@ -193,13 +193,13 @@ class GithubReporter(BaseReporter):
|
|||
self.log.warning('Merge mode %s not supported by Github', mode)
|
||||
raise MergeFailure('Merge mode %s not supported by Github' % mode)
|
||||
|
||||
merge_mode = self.merge_modes[merge_mode]
|
||||
project = item.change.project.name
|
||||
pr_number = item.change.number
|
||||
sha = item.change.patchset
|
||||
log.debug('Reporting change %s, params %s, merging via API',
|
||||
item.change, self.config)
|
||||
message = self._formatMergeMessage(item.change)
|
||||
message = self._formatMergeMessage(item.change, merge_mode)
|
||||
merge_mode = self.merge_modes[merge_mode]
|
||||
|
||||
for i in [1, 2]:
|
||||
try:
|
||||
|
@ -319,10 +319,13 @@ class GithubReporter(BaseReporter):
|
|||
self.connection.unlabelPull(project, pr_number, label,
|
||||
zuul_event_id=item.event)
|
||||
|
||||
def _formatMergeMessage(self, change):
|
||||
def _formatMergeMessage(self, change, merge_mode):
|
||||
message = []
|
||||
if change.title:
|
||||
message.append(change.title)
|
||||
# For squash merges we don't need to add the title to the body
|
||||
# as it will already be set as the commit subject.
|
||||
if merge_mode != model.MERGER_SQUASH_MERGE:
|
||||
if change.title:
|
||||
message.append(change.title)
|
||||
if change.body_text:
|
||||
message.append(change.body_text)
|
||||
merge_message = "\n\n".join(message)
|
||||
|
|
Loading…
Reference in New Issue