Skip to content

Commit 6979bef

Browse files
authored
make command idempotent (#20)
1 parent 97e0998 commit 6979bef

File tree

5 files changed

+9
-5
lines changed

5 files changed

+9
-5
lines changed

continuous_delivery_scripts/generate_news.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def version_project(commit_type: CommitType) -> Tuple[bool, Optional[str], Dict[
3131
(is new version, the new version)
3232
"""
3333
use_news_files = commit_type in [CommitType.BETA, CommitType.RELEASE]
34-
is_new_version, new_version, version_elements = calculate_version(commit_type, use_news_files)
34+
is_new_version, new_version, version_elements = calculate_version(commit_type, use_news_files, True)
3535
_generate_changelog(new_version, use_news_files)
3636
return is_new_version, new_version, version_elements
3737

continuous_delivery_scripts/get_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def get_project_version_string(commit_type: CommitType) -> str:
2626
(is new version, the new version)
2727
"""
2828
use_news_files = commit_type in [CommitType.BETA, CommitType.RELEASE]
29-
_, new_version, version_elements = calculate_version(commit_type, use_news_files)
29+
_, new_version, version_elements = calculate_version(commit_type, use_news_files, False)
3030
version_string = determine_version_string(commit_type, new_version, version_elements)
3131
return version_string
3232

continuous_delivery_scripts/utils/versioning.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
logger = logging.getLogger(__name__)
1818

1919

20-
def calculate_version(commit_type: CommitType, use_news_files: bool) -> Tuple[bool, Optional[str], Dict[str, str]]:
20+
def calculate_version(
21+
commit_type: CommitType, use_news_files: bool, record_state: bool
22+
) -> Tuple[bool, Optional[str], Dict[str, str]]:
2123
"""Calculates the version for the release.
2224
2325
eg. "0.1.2"
@@ -44,6 +46,7 @@ def calculate_version(commit_type: CommitType, use_news_files: bool) -> Tuple[bo
4446
enable_file_triggers=enable_file_triggers,
4547
commit_count_as=bump,
4648
config_path=project_config_path,
49+
dry_run=not record_state,
4750
)
4851
# Autoversion second returned value is not actually the new version
4952
# There seem to be a bug in autoversion.

news/202108111624.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Made `cd-determine-version` idempotent

tests/versioning/test_versioning.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
class TestVersioning(unittest.TestCase):
1111
def test_calculate_version(self):
1212
for release_type in CommitType.choices():
13-
_, new_version, version_elements = calculate_version(CommitType.RELEASE, False)
13+
_, new_version, version_elements = calculate_version(CommitType.RELEASE, False, False)
1414
self.assertIsNotNone(new_version)
1515
self.assertNotEquals(new_version, "")
1616
self.assertIsNotNone(version_elements)
1717
self.assertGreater(len(version_elements), 0)
18-
_, new_version, version_elements = calculate_version(CommitType.RELEASE, True)
18+
_, new_version, version_elements = calculate_version(CommitType.RELEASE, True, False)
1919
self.assertIsNotNone(new_version)
2020
self.assertNotEquals(new_version, "")
2121
self.assertIsNotNone(version_elements)

0 commit comments

Comments
 (0)