Unverified Commit cec89e1a authored by Sylvain Gugger's avatar Sylvain Gugger Committed by GitHub
Browse files

Simplify release utils (#15921)

* Simplify release utils

* Quality
parent e493a3a5
......@@ -17,7 +17,6 @@ import argparse
import os
import re
import git
import packaging.version
......@@ -33,8 +32,6 @@ REPLACE_FILES = {
"setup": "setup.py",
}
README_FILE = "README.md"
CUSTOM_JS_FILE = "docs/source/_static/js/custom.js"
DEPLOY_SH_FILE = ".circleci/deploy.sh"
def update_version_in_file(fname, version, pattern):
......@@ -136,52 +133,16 @@ def post_release_work():
current_version = get_version()
dev_version = f"{current_version.major}.{current_version.minor + 1}.0.dev0"
current_version = current_version.base_version
# Get the current commit hash
repo = git.Repo(".", search_parent_directories=True)
version_commit = repo.head.object.hexsha[:7]
# Check with the user we got that right.
version = input(f"Which version are we developing now? [{dev_version}]")
commit = input(f"Commit hash to associate to v{current_version}? [{version_commit}]")
if len(version) == 0:
version = dev_version
if len(commit) == 0:
commit = version_commit
print(f"Updating version to {version}.")
global_version_update(version)
def post_patch_work():
"""Do all the necesarry post-patch steps."""
# Try to guess the right info: last patch in the minor release before current version and its commit hash.
current_version = get_version()
repo = git.Repo(".", search_parent_directories=True)
repo_tags = repo.tags
default_version = None
version_commit = None
for tag in repo_tags:
if str(tag).startswith(f"v{current_version.major}.{current_version.minor - 1}"):
if default_version is None:
default_version = packaging.version.parse(str(tag)[1:])
version_commit = str(tag.commit)[:7]
elif packaging.version.parse(str(tag)[1:]) > default_version:
default_version = packaging.version.parse(str(tag)[1:])
version_commit = str(tag.commit)[:7]
# Confirm with the user or ask for the info if not found.
if default_version is None:
version = input("Which patch version was just released?")
commit = input("Commit hash to associated to it?")
else:
version = input(f"Which patch version was just released? [{default_version}]")
commit = input(f"Commit hash to associated to it? [{version_commit}]")
if len(version) == 0:
version = default_version
if len(commit) == 0:
commit = version_commit
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--post_release", action="store_true", help="Whether this is pre or post release.")
......@@ -190,6 +151,6 @@ if __name__ == "__main__":
if not args.post_release:
pre_release_work(patch=args.patch)
elif args.patch:
post_patch_work()
print("Nothing to do after a patch :-)")
else:
post_release_work()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment