Allow bumping version for nightly builds (#26167)

This commit is contained in:
Paulus Schoutsen 2019-08-23 10:32:54 -07:00 committed by GitHub
parent 3deeac6bf7
commit 691e3f6141
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,6 +3,7 @@
import argparse import argparse
import re import re
import subprocess import subprocess
from datetime import datetime
from packaging.version import Version from packaging.version import Version
@ -80,6 +81,16 @@ def bump_version(version, bump_type):
to_change["release"] = _bump_release(version.release, "patch") to_change["release"] = _bump_release(version.release, "patch")
to_change["pre"] = ("b", 0) to_change["pre"] = ("b", 0)
elif bump_type == "nightly":
# Convert 0.70.0d0 to 0.70.0d20190424, fails when run on non dev release
if not version.is_devrelease:
raise ValueError("Can only be run on dev release")
to_change["dev"] = (
"dev",
datetime.utcnow().date().isoformat().replace("-", ""),
)
else: else:
assert False, f"Unsupported type: {bump_type}" assert False, f"Unsupported type: {bump_type}"
@ -109,7 +120,7 @@ def main():
parser.add_argument( parser.add_argument(
"type", "type",
help="The type of the bump the version to.", help="The type of the bump the version to.",
choices=["beta", "dev", "patch", "minor"], choices=["beta", "dev", "patch", "minor", "nightly"],
) )
parser.add_argument( parser.add_argument(
"--commit", action="store_true", help="Create a version bump commit." "--commit", action="store_true", help="Create a version bump commit."
@ -128,6 +139,8 @@ def main():
def test_bump_version(): def test_bump_version():
"""Make sure it all works.""" """Make sure it all works."""
import pytest
assert bump_version(Version("0.56.0"), "beta") == Version("0.56.1b0") assert bump_version(Version("0.56.0"), "beta") == Version("0.56.1b0")
assert bump_version(Version("0.56.0b3"), "beta") == Version("0.56.0b4") assert bump_version(Version("0.56.0b3"), "beta") == Version("0.56.0b4")
assert bump_version(Version("0.56.0.dev0"), "beta") == Version("0.56.0b0") assert bump_version(Version("0.56.0.dev0"), "beta") == Version("0.56.0b0")
@ -147,6 +160,13 @@ def test_bump_version():
assert bump_version(Version("0.56.0.dev0"), "minor") == Version("0.56.0") assert bump_version(Version("0.56.0.dev0"), "minor") == Version("0.56.0")
assert bump_version(Version("0.56.2.dev0"), "minor") == Version("0.57.0") assert bump_version(Version("0.56.2.dev0"), "minor") == Version("0.57.0")
today = datetime.utcnow().date().isoformat().replace("-", "")
assert bump_version(Version("0.56.0.dev0"), "nightly") == Version(
f"0.56.0.dev{today}"
)
with pytest.raises(ValueError):
assert bump_version(Version("0.56.0"), "nightly")
if __name__ == "__main__": if __name__ == "__main__":
main() main()