MCPcopy Create free account
hub / github.com/pytest-dev/pytest / find_next_version

Function find_next_version

scripts/prepare-release-pr.py:136–154  ·  view source on GitHub ↗
(
    base_branch: str, is_major: bool, is_feature_release: bool, prerelease: str
)

Source from the content-addressed store, hash-verified

134
135
136def find_next_version(
137 base_branch: str, is_major: bool, is_feature_release: bool, prerelease: str
138) -> str:
139 output = check_output(["git", "tag"], encoding="UTF-8")
140 valid_versions = []
141 for v in output.splitlines():
142 m = re.match(r"\d.\d.\d+$", v.strip())
143 if m:
144 valid_versions.append(tuple(int(x) for x in v.split(".")))
145
146 valid_versions.sort()
147 last_version = valid_versions[-1]
148
149 if is_major:
150 return f"{last_version[0]+1}.0.0{prerelease}"
151 elif is_feature_release:
152 return f"{last_version[0]}.{last_version[1] + 1}.0{prerelease}"
153 else:
154 return f"{last_version[0]}.{last_version[1]}.{last_version[2] + 1}{prerelease}"
155
156
157def main() -> None:

Callers 1

prepare_release_prFunction · 0.85

Calls 4

intClass · 0.85
matchMethod · 0.80
stripMethod · 0.80
appendMethod · 0.80

Tested by

no test coverage detected