GRM-34: fix: move release commit skip check into release.py

This commit is contained in:
2026-06-21 10:54:58 +00:00
parent 63fb259bac
commit e00d40dd54
3 changed files with 23 additions and 3 deletions
+17 -1
View File
@@ -171,12 +171,28 @@ class TestMain:
@patch("scripts.release.has_unreleased_changes", return_value=False)
@patch("scripts.release.run_cmd")
def test_no_unreleased_changes(self, mock_run_cmd: MagicMock, mock_has: MagicMock) -> None:
mock_run_cmd.return_value = MagicMock(returncode=0, stdout="master\n", stderr="")
mock_run_cmd.side_effect = [
MagicMock(returncode=0, stdout="master\n", stderr=""), # branch check
MagicMock(returncode=0, stdout="GRM-34 feat: something\n", stderr=""), # last commit msg
]
runner = CliRunner()
result = runner.invoke(main, [])
assert result.exit_code == 0
assert "No unreleased changes" in result.output
@patch.dict("os.environ", {})
@patch("scripts.release.run_cmd")
def test_skips_release_commit(self, mock_run_cmd: MagicMock) -> None:
"""Skip when last commit is a chore(release): commit to avoid loops."""
mock_run_cmd.side_effect = [
MagicMock(returncode=0, stdout="master\n", stderr=""), # branch check
MagicMock(returncode=0, stdout="chore(release): prepare for v0.2.0\n", stderr=""), # last commit msg
]
runner = CliRunner()
result = runner.invoke(main, [])
assert result.exit_code == 0
assert "release commit" in result.output
@patch.dict("os.environ", {})
@patch("scripts.release.create_and_push_tag")
@patch("scripts.release.create_release_commit")