]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
script: improve author scraping on cherry picks
authorLaura Flores <lflores@redhat.com>
Fri, 5 May 2023 18:31:53 +0000 (18:31 +0000)
committerLaura Flores <lflores@redhat.com>
Fri, 5 May 2023 18:31:53 +0000 (18:31 +0000)
Signed-off-by: Laura Flores <lflores@redhat.com>
src/script/ceph-release-notes

index 1c01154f0901a4374cf9fd5b9b9d9ffcc805a513..366588d64a0c06a303c7ec2203d053693d6a34da 100755 (executable)
@@ -192,8 +192,15 @@ def make_release_notes(gh, repo, ref, cherry_picks, plaintext, html, markdown, v
                 else:
                     print(f"Could not fetch PR {number} in {retries} tries.")
                     raise
+        commit = None
+        if merges[number] == "cherry_pick":
+            try:
+                commit = repo.commit(pr['merge_commit_sha'])
+            except:
+                pass
         if merges[number] == "merge_commit":
             commit = merge_commits[number]
+        if commit:
             (title, message) = _title_message(commit, pr, strict)
         else:
             (title, message) = (pr['title'], pr['body'])
@@ -204,7 +211,7 @@ def make_release_notes(gh, repo, ref, cherry_picks, plaintext, html, markdown, v
             )
 
         authors = {}
-        if merges[number] == "merge_commit":
+        if commit:
             for c in repo.iter_commits(
                     "{sha1}^1..{sha1}^2".format(sha1=commit.hexsha)
                     ):
@@ -224,7 +231,7 @@ def make_release_notes(gh, repo, ref, cherry_picks, plaintext, html, markdown, v
         if authors:
             author = ", ".join(authors.keys())
         else:
-            if merges[number] == "merge_commit":
+            if commit:
                 author = commit.parents[-1].author.name
             else:
                 author = pr['user']['login']