From b247936a81c0d859a34bf9f17ab8ca6a80488081 Mon Sep 17 00:00:00 2001 From: rafcio19 Date: Wed, 13 Apr 2022 18:54:43 +0100 Subject: [PATCH] fix: fix getting current version when `version_source=tag_only` (#437) --- semantic_release/history/__init__.py | 2 +- tests/history/test_version.py | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/semantic_release/history/__init__.py b/semantic_release/history/__init__.py index fa46d96cc..fa9e6f67c 100644 --- a/semantic_release/history/__init__.py +++ b/semantic_release/history/__init__.py @@ -228,7 +228,7 @@ def get_current_version(prerelease_version: bool = False) -> str: :return: A string with the current version number """ omit_pattern = None if prerelease_version else get_prerelease_pattern() - if config.get("version_source") == "tag": + if config.get("version_source") in ["tag", "tag_only"]: return get_current_version_by_tag(omit_pattern) current_version = get_current_version_by_config_file(omit_pattern) if omit_pattern and omit_pattern in current_version: diff --git a/tests/history/test_version.py b/tests/history/test_version.py index 749eb6f03..04597d70e 100644 --- a/tests/history/test_version.py +++ b/tests/history/test_version.py @@ -16,6 +16,7 @@ get_previous_version, load_version_declarations, set_new_version, + get_current_version_by_config_file, ) from .. import wrapped_config_get @@ -50,6 +51,23 @@ def test_current_version_should_return_default_version(mock_last_version): assert "0.0.0" == get_current_version() +@mock.patch( + "semantic_release.history.config.get", wrapped_config_get(version_source="tag_only") +) +def test_current_version_should_run_with_tag_only(mocker): + mock_get_current_version_by_tag = mocker.patch( + "semantic_release.history.get_current_version_by_tag", return_value=None + ) + mock_get_current_version_by_config_file = mocker.patch( + "semantic_release.history.get_current_version_by_config_file", return_value=None + ) + + get_current_version() + + assert mock_get_current_version_by_tag.called + assert not mock_get_current_version_by_config_file.called + + class TestGetPreviousVersion: @mock.patch( "semantic_release.history.get_commit_log",