From 3882de5d0f2077f303da19d381ad64ff36311f6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Ricks?= Date: Wed, 1 Mar 2023 16:03:10 +0100 Subject: [PATCH] Change: Include pre-release changes in release changelog If the to be released version is not a pre releases include the changes of the previous pre releases in the changelog. --- pontos/release/release.py | 12 ++++++------ tests/version/test_helper.py | 13 +++++++++++++ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/pontos/release/release.py b/pontos/release/release.py index 558737d5..e9977fa1 100644 --- a/pontos/release/release.py +++ b/pontos/release/release.py @@ -214,7 +214,10 @@ async def run( ) return ReleaseReturnValue.UPDATE_VERSION_ERROR - last_release_version = get_last_release_version(self.git_tag_prefix) + last_release_version = get_last_release_version( + self.git_tag_prefix, + ignore_pre_releases=not release_version.is_prerelease, + ) self.terminal.info( f"Creating changelog for {release_version} since " @@ -252,11 +255,8 @@ async def run( calculator = command.get_version_calculator() - next_version = ( - next_version - if next_version is not None - else calculator.next_dev_version(release_version) - ) + if not next_version: + next_version = calculator.next_dev_version(release_version) try: updated = command.update_version(next_version) diff --git a/tests/version/test_helper.py b/tests/version/test_helper.py index e6e76a11..bb33233a 100644 --- a/tests/version/test_helper.py +++ b/tests/version/test_helper.py @@ -133,3 +133,16 @@ def test_get_last_release_version_ignore_pre_releases( self.assertEqual( get_last_release_version(ignore_pre_releases=True), Version("2") ) + + @patch("pontos.version.helper.Git", spec=Git) + def test_get_last_release_version_no_non_pre_release( + self, _git_interface_mock + ): + git_interface = _git_interface_mock.return_value + git_interface.list_tags.return_value = [ + "3.55a1", + "3.56.dev1", + "4.0.0rc1", + "4.0.1b1", + ] + self.assertIsNone(get_last_release_version(ignore_pre_releases=True))