From 8532e172433ba7d3501cd17352946e6e5c4b9d21 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 0f04cabf84a10ad461dd1db2e3535f3e987be29f 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 e711188be798b7286fa878fd4e9ab6456438675d 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