From 1d8cd25345660e85588b7ad5cbd550ff99a5ff23 Mon Sep 17 00:00:00 2001 From: Morph <39850852+Morph1984@users.noreply.github.com> Date: Sun, 29 Jan 2023 19:19:24 -0500 Subject: [PATCH 1/3] ci: Abort on failure to query Github's API This raises an exception if the GET request to Github's API returns anything other than 200 OK, ensuring we always have successful merges of tagged PRs. Also, reduces the number of queried pages from 29 to 9 to reduce the number of requests. --- .ci/scripts/merge/apply-patches-by-label.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.ci/scripts/merge/apply-patches-by-label.py b/.ci/scripts/merge/apply-patches-by-label.py index 8ddc8ff34f..3c5952aa19 100644 --- a/.ci/scripts/merge/apply-patches-by-label.py +++ b/.ci/scripts/merge/apply-patches-by-label.py @@ -20,6 +20,7 @@ def check_individual(labels): def do_page(page): url = 'https://api.github.com/repos/yuzu-emu/yuzu/pulls?page=%s' % page response = requests.get(url) + response.raise_for_status() if (response.ok): j = json.loads(response.content) if j == []: @@ -33,7 +34,7 @@ def do_page(page): print(subprocess.check_output(["git", "commit", "-m\"Merge %s PR %s\"" % (tagline, pn)])) try: - for i in range(1,30): + for i in range(1,10): do_page(i) except: traceback.print_exc(file=sys.stdout) From 6c868a0757038da062ebd98e762e88068e786c3e Mon Sep 17 00:00:00 2001 From: Morph <39850852+Morph1984@users.noreply.github.com> Date: Sun, 29 Jan 2023 19:29:21 -0500 Subject: [PATCH 2/3] apply-patches-by-label: Use python f-strings --- .ci/scripts/merge/apply-patches-by-label.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.ci/scripts/merge/apply-patches-by-label.py b/.ci/scripts/merge/apply-patches-by-label.py index 3c5952aa19..a31c0aac4d 100644 --- a/.ci/scripts/merge/apply-patches-by-label.py +++ b/.ci/scripts/merge/apply-patches-by-label.py @@ -18,7 +18,7 @@ def check_individual(labels): return False def do_page(page): - url = 'https://api.github.com/repos/yuzu-emu/yuzu/pulls?page=%s' % page + url = f"https://api.github.com/repos/yuzu-emu/yuzu/pulls?page={page}" response = requests.get(url) response.raise_for_status() if (response.ok): @@ -28,10 +28,10 @@ def do_page(page): for pr in j: if (check_individual(pr["labels"])): pn = pr["number"] - print("Matched PR# %s" % pn) - print(subprocess.check_output(["git", "fetch", "https://github.com/yuzu-emu/yuzu.git", "pull/%s/head:pr-%s" % (pn, pn), "-f", "--no-recurse-submodules"])) - print(subprocess.check_output(["git", "merge", "--squash", "pr-%s" % pn])) - print(subprocess.check_output(["git", "commit", "-m\"Merge %s PR %s\"" % (tagline, pn)])) + print(f"Matched PR# {pn}") + print(subprocess.check_output(["git", "fetch", "https://github.com/yuzu-emu/yuzu.git", f"pull/{pn}/head:pr-{pn}", "-f", "--no-recurse-submodules"])) + print(subprocess.check_output(["git", "merge", "--squash", f"pr-{pn}"])) + print(subprocess.check_output(["git", "commit", f"-m\"Merge {tagline} PR {pn}\""])) try: for i in range(1,10): From 7513a154d34ad620b0fbc50bde9334588254d4d0 Mon Sep 17 00:00:00 2001 From: Morph <39850852+Morph1984@users.noreply.github.com> Date: Sun, 29 Jan 2023 19:51:36 -0500 Subject: [PATCH 3/3] apply-patches-by-label: Remove unused variables and imports --- .ci/scripts/merge/apply-patches-by-label.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.ci/scripts/merge/apply-patches-by-label.py b/.ci/scripts/merge/apply-patches-by-label.py index a31c0aac4d..17bb7dc13d 100644 --- a/.ci/scripts/merge/apply-patches-by-label.py +++ b/.ci/scripts/merge/apply-patches-by-label.py @@ -2,15 +2,12 @@ # SPDX-License-Identifier: GPL-2.0-or-later # Download all pull requests as patches that match a specific label -# Usage: python download-patches-by-label.py