From 9ee3ec2018b0979b1ff96d1e024276102facb380 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torjus=20H=C3=A5kestad?= Date: Mon, 7 Oct 2024 16:02:45 +0200 Subject: [PATCH] Add title to pr command output --- nixprstatus/__main__.py | 2 ++ nixprstatus/pr.py | 10 +++++++--- pyproject.toml | 2 +- tests/test_pr.py | 9 +++++++++ 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/nixprstatus/__main__.py b/nixprstatus/__main__.py index 4ded06d..e6bc2dc 100644 --- a/nixprstatus/__main__.py +++ b/nixprstatus/__main__.py @@ -28,6 +28,8 @@ def pr( status = pr_merge_status(pr, branches) else: status = pr_merge_status(pr) + + console.print(f"{status.title}\n", highlight=False) merged = ":white_check_mark: merged" if status.merged else ":x: merged" console.print(merged, highlight=False) diff --git a/nixprstatus/pr.py b/nixprstatus/pr.py index f32dac0..faace8c 100644 --- a/nixprstatus/pr.py +++ b/nixprstatus/pr.py @@ -9,6 +9,7 @@ BACKPORT_LABEL = "backport release-24.05" class PRStatus(BaseModel): + title: str merged: bool branches: dict[str, bool] @@ -40,10 +41,13 @@ def pr_merge_status( pr_response.raise_for_status() pr_data = pr_response.json() + title = pr_data["title"] merged = pr_data["merged"] if merged is False: - return PRStatus(merged=False, branches={branch: False for branch in branches}) + return PRStatus( + title=title, merged=False, branches={branch: False for branch in branches} + ) commit_sha = pr_data.get("merge_commit_sha") @@ -77,11 +81,11 @@ def pr_merge_status( backport_sha = backport_response.json().get("merge_commit_sha") if backport_sha is None: results[f"nixos-24.05 (#{backport_pr})"] = False - return PRStatus(merged=True, branches=results) + return PRStatus(title=title, merged=True, branches=results) results.pop("nixos-24.05") results[f"nixos-24.05 (#{backport_pr})"] = commit_in_branch( backport_sha, "nixos-24.05" ) - return PRStatus(merged=True, branches=results) + return PRStatus(title=title, merged=True, branches=results) diff --git a/pyproject.toml b/pyproject.toml index e55192b..1a3b8c6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "nixprstatus" -version = "0.1.1" +version = "0.1.2" description = "Nixpkgs PR status checker" authors = ["Torjus HÃ¥kestad "] license = "MIT" diff --git a/tests/test_pr.py b/tests/test_pr.py index 940c1ae..3e81f7d 100644 --- a/tests/test_pr.py +++ b/tests/test_pr.py @@ -57,6 +57,15 @@ class TestPRMergeStatus(unittest.TestCase): self.assertTrue(res.merged) self.assertTrue(res.branches["nixos-24.05 (#346022)"]) + @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + def test_pr_merge_status_title_345769(self, mock_get): + pr = 345769 + branches = ["nixos-24.05"] + expected_title = "Firefox: 130.0.1 -> 131.0; 128.2.0esr -> 128.3.0esr; 115.15.0esr -> 115.16.0esr" + + res = pr_merge_status(pr, branches, check_backport=True) + self.assertEqual(res.title, expected_title) + class TestCommitInBranch(unittest.TestCase): @unittest.mock.patch("requests.get", side_effect=mocked_requests_get)