MCPcopy
hub / github.com/pytest-dev/pytest / prepare_release_pr

Function prepare_release_pr

scripts/prepare-release-pr.py:55–141  ·  scripts/prepare-release-pr.py::prepare_release_pr
(base_branch: str, is_major: bool, prerelease: str)

Source from the content-addressed store, hash-verified

53
54
55def prepare_release_pr(base_branch: str, is_major: bool, prerelease: str) -> None:
56 print()
57 print(fclass="st">"Processing release for branch {Fore.CYAN}{base_branch}")
58
59 check_call([class="st">"git", class="st">"checkout", fclass="st">"origin/{base_branch}"])
60
61 changelog = Path(class="st">"changelog")
62
63 features = list(changelog.glob(class="st">"*.feature.rst"))
64 breaking = list(changelog.glob(class="st">"*.breaking.rst"))
65 is_feature_release = bool(features or breaking)
66
67 try:
68 version = find_next_version(
69 base_branch, is_major, is_feature_release, prerelease
70 )
71 except InvalidFeatureRelease as e:
72 print(fclass="st">"{Fore.RED}{e}")
73 raise SystemExit(1) from None
74
75 print(fclass="st">"Version: {Fore.CYAN}{version}")
76
77 release_branch = fclass="st">"release-{version}"
78
79 run(
80 [class="st">"git", class="st">"config", class="st">"user.name", class="st">"pytest bot"],
81 check=True,
82 )
83 run(
84 [class="st">"git", class="st">"config", class="st">"user.email", class="st">"pytestbot@gmail.com"],
85 check=True,
86 )
87
88 run(
89 [class="st">"git", class="st">"checkout", class="st">"-b", release_branch, fclass="st">"origin/{base_branch}"],
90 check=True,
91 )
92
93 print(fclass="st">"Branch {Fore.CYAN}{release_branch}{Fore.RESET} created.")
94
95 if is_major:
96 template_name = class="st">"release.major.rst"
97 elif prerelease:
98 template_name = class="st">"release.pre.rst"
99 elif is_feature_release:
100 template_name = class="st">"release.minor.rst"
101 else:
102 template_name = class="st">"release.patch.rst"
103
104 class="cm"># important to use tox here because we have changed branches, so dependencies
105 class="cm"># might have changed as well
106 cmdline = [
107 class="st">"tox",
108 class="st">"-e",
109 class="st">"release",
110 class="st">"--",
111 version,
112 template_name,

Callers 1

mainFunction · 0.85

Calls 4

check_callFunction · 0.85
find_next_versionFunction · 0.85
joinMethod · 0.80
formatMethod · 0.45

Tested by

no test coverage detected