Skip to content

Commit ad4a4ff

Browse files
committed
build: automate the 'final' version
1 parent e1502e6 commit ad4a4ff

File tree

3 files changed

+20
-5
lines changed

3 files changed

+20
-5
lines changed

Makefile

+4-1
Original file line numberDiff line numberDiff line change
@@ -176,12 +176,15 @@ sample_html_beta: _sample_cog_html ## Generate sample HTML report for a beta rel
176176

177177
##@ Kitting: making releases
178178

179-
.PHONY: edit_for_release cheats relbranch relcommit1 relcommit2
179+
.PHONY: release_version edit_for_release cheats relbranch relcommit1 relcommit2
180180
.PHONY: kit pypi_upload test_upload kit_local build_kits
181181
.PHONY: tag bump_version
182182

183183
REPO_OWNER = nedbat/coveragepy
184184

185+
release_version: #: Update the version for a release.
186+
python igor.py release_version
187+
185188
edit_for_release: #: Edit sources to insert release facts (see howto.txt).
186189
python igor.py edit_for_release
187190

howto.txt

+7-4
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,19 @@
33
- Check that the current virtualenv matches the current coverage branch.
44
- start branch for release work
55
$ make relbranch
6-
- Edit version number in coverage/version.py
6+
- check version number in coverage/version.py
7+
- IF PRE-RELEASE:
8+
- edit to look like one of these:
79
version_info = (4, 0, 2, "alpha", 1)
810
version_info = (4, 0, 2, "beta", 1)
911
version_info = (4, 0, 2, "candidate", 1)
1012
version_info = (4, 0, 2, "final", 0)
11-
- make sure: _dev = 0
12-
- Edit supported Python version numbers. Search for "PYVERSIONS".
13-
- Especially README.rst and doc/index.rst
13+
- IF NOT PRE-RELEASE:
14+
$ make release_version
1415
- Update source files with release facts, and get useful snippets:
1516
$ make edit_for_release cheats
17+
- Edit supported Python version numbers. Search for "PYVERSIONS".
18+
- Especially README.rst and doc/index.rst
1619
- Look over CHANGES.rst
1720
- Update README.rst
1821
- "New in x.y:"

igor.py

+9
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,15 @@ def do_edit_for_release():
419419
)
420420
update_file("doc/conf.py", r"(?s)# @@@ editable\n.*# @@@ end\n", new_conf)
421421

422+
def do_release_version():
423+
"""Set the version to 'final' for a release."""
424+
facts = get_release_facts()
425+
rel_vi = facts.vi[:3] + ("final", 0)
426+
rel_version = f"version_info = {rel_vi}\n_dev = 0".replace("'", '"')
427+
update_file(
428+
"coverage/version.py", r"(?m)^version_info = .*\n_dev = \d+$", rel_version,
429+
)
430+
422431

423432
def do_bump_version():
424433
"""Edit a few files right after a release to bump the version."""

0 commit comments

Comments
 (0)