Skip to content

Commit 22f0ad7

Browse files
committed
Handle patch release versions.
1 parent 3dfeb25 commit 22f0ad7

3 files changed

Lines changed: 12 additions & 2 deletions

File tree

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,4 +130,7 @@ dmypy.json
130130

131131
# example output
132132
example/*.csv
133-
settings.json
133+
settings.json
134+
135+
# macOS files
136+
.DS_Store

staflversion/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
@total_ordering
1010
class StaflVersion:
1111
VERSION_REGEX = re.compile(
12-
r"^(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)\+(?P<build>\d+)$"
12+
r"^(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)\+(?P<build>\d+)(-(?P<prerelease_metadata>.+))?$"
1313
)
1414

1515
def __init__(self, major: int, minor: int, patch: int, build: int):

tests/test_version.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,3 +132,10 @@ def test_version_determine_set_version():
132132
)
133133
versioner = StaflVersioner(git)
134134
assert versioner.determine_version() == StaflVersion(1, 2, 3, 4)
135+
136+
def test_version_patch_release():
137+
git = MockGitWrapper(
138+
["Fix critical bug +semver:patch"], ["1.2.3+4-dev/patch", "1.2.2+0"]
139+
)
140+
versioner = StaflVersioner(git)
141+
assert versioner.determine_version() == StaflVersion(1, 2, 4, 0)

0 commit comments

Comments
 (0)