aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGertjan van den Burg <gertjanvandenburg@gmail.com>2020-03-06 22:57:19 +0000
committerGertjan van den Burg <gertjanvandenburg@gmail.com>2020-03-06 22:57:19 +0000
commitf83d3f915ff7cd693a2664c8f1ee7a9a3ca0fd7b (patch)
tree8d90f800da52da9ddf5ab496f9ccde2fb5458864
parentMove some stuff around for sklearn (diff)
downloadpygensvm-f83d3f915ff7cd693a2664c8f1ee7a9a3ca0fd7b.tar.gz
pygensvm-f83d3f915ff7cd693a2664c8f1ee7a9a3ca0fd7b.zip
Allow continuing release script
-rw-r--r--make_release.py81
1 files changed, 48 insertions, 33 deletions
diff --git a/make_release.py b/make_release.py
index 616b896..53045b0 100644
--- a/make_release.py
+++ b/make_release.py
@@ -12,6 +12,7 @@ Date: 2019-07-23
"""
+import sys
import colorama
import os
import webbrowser
@@ -58,6 +59,13 @@ def get_package_name():
return nameline.split("=")[-1].strip().strip('"')
+def get_package_version(pkgname):
+ ctx = {}
+ with open(f"{pkgname.lower()}/__version__.py", "r") as fp:
+ exec(fp.read(), ctx)
+ return ctx["__version__"]
+
+
class Step:
def pre(self, context):
pass
@@ -119,10 +127,7 @@ class BumpVersionPackage(Step):
def _get_version(self, context):
# Get the version from the version file
- about = {}
- with open(f"{context['pkgname'].lower()}/__version__.py", "r") as fp:
- exec(fp.read(), about)
- return about["__version__"]
+ return get_package_version(context['pkgname'])
class MakeClean(Step):
@@ -153,6 +158,7 @@ class InstallFromTestPyPI(Step):
self.print_cmd("rm -rf ./venv")
self.print_cmd("virtualenv ./venv")
self.print_cmd("source ./venv/bin/activate")
+ self.print_cmd('pip install numpy')
self.print_cmd(
"pip install --index-url https://test.pypi.org/simple/ "
+ f"--extra-index-url https://pypi.org/simple {context['pkgname']}=={context['version']}"
@@ -228,42 +234,51 @@ class WaitForRTD(Step):
)
-def main():
+def main(target=None):
colorama.init()
procedure = [
- GitToMaster(),
- GitAdd(),
- MakeClean(),
- MakeDocs(),
- RunTests(),
- PushToGitHub(), # trigger Travis to run tests on all platforms
- WaitForTravis(),
- WaitForRTD(),
- BumpVersionPackage(),
- GitAdd(),
- GitTagPreRelease(),
- PushToGitHub(), # trigger Travis to run tests using cibuildwheel
- WaitForTravis(),
- UpdateChangelog(),
- MakeClean(),
- MakeDocs(),
- MakeDist(),
- PushToTestPyPI(),
- InstallFromTestPyPI(),
- TestPackage(),
- DeactivateVenv(),
- GitAddRelease(),
- PushToPyPI(),
- GitTagVersion(),
- PushToGitHub(), # triggers Travis to build with cibw and push to PyPI
- WaitForTravis(),
+ ("gittomaster", GitToMaster()),
+ ("gitadd1", GitAdd()),
+ ("clean1", MakeClean()),
+ ("docs1", MakeDocs()),
+ ("runtests", RunTests()),
+ # trigger Travis to run tests on all platforms
+ ("push1", PushToGitHub()),
+ ("travis1", WaitForTravis()),
+ ("waitrtd", WaitForRTD()),
+ ("bumpversion", BumpVersionPackage()),
+ ("gitadd2", GitAdd()),
+ ("gittagpre", GitTagPreRelease()),
+ # trigger Travis to run tests using cibuildwheel
+ ("push2", PushToGitHub()),
+ ("travis2", WaitForTravis()),
+ ("changelog", UpdateChangelog()),
+ ("clean2", MakeClean()),
+ ("docs2", MakeDocs()),
+ ("dist", MakeDist()),
+ ("testpypi", PushToTestPyPI()),
+ ("install", InstallFromTestPyPI()),
+ ("testpkg", TestPackage()),
+ ("deactivate", DeactivateVenv()),
+ ("addrelease", GitAddRelease()),
+ ("pypi", PushToPyPI()),
+ ("tagfinal", GitTagVersion()),
+ # triggers Travis to build with cibw and push to PyPI
+ ("push3", PushToGitHub(),),
+ ("travis3", WaitForTravis()),
]
context = {}
context["pkgname"] = get_package_name()
- for step in procedure:
+ context["version"] = get_package_version(context["pkgname"])
+ skip = True if target else False
+ for name, step in procedure:
+ if not name == target and skip:
+ continue
+ skip = False
step.run(context)
cprint("\nDone!", color="yellow", style="bright")
if __name__ == "__main__":
- main()
+ target = sys.argv[1] if len(sys.argv) > 1 else None
+ main(target=target)