packages/ - Allow dev releases (sort of)

This commit is contained in:
John Chilton
2019-05-28 16:13:24 -04:00
parent a49debffdc
commit 9c6482b5eb
5 changed files with 68 additions and 44 deletions
+4
View File
@@ -2,6 +2,10 @@
.tox
.venv
.venv3
packages/*/.venv
packages/*/build
packages/*/dist
packages/venv
node_modules
database
doc/build
+15 -13
View File
@@ -7,27 +7,29 @@ import subprocess
import sys
PROJECT_DIRECTORY = os.path.join(os.path.dirname(__file__), "..")
DEV_RELEASE = os.environ.get("DEV_RELEASE", None) == "1"
PROJECT_DIRECTORY = os.getcwd()
PROJECT_DIRECTORY_NAME = os.path.basename(os.path.abspath(PROJECT_DIRECTORY))
PROJECT_MODULE_FILENAME = "galaxy_%s.py" % PROJECT_DIRECTORY_NAME
PROJECT_MODULE_FILENAME = "project_galaxy_%s.py" % PROJECT_DIRECTORY_NAME
PROJECT_NAME = PROJECT_DIRECTORY_NAME.replace("_", "-")
def main(argv):
source_dir = argv[1]
version = argv[2]
history_path = os.path.join(PROJECT_DIRECTORY, "HISTORY.rst")
history = open(history_path, "r").read()
today = datetime.datetime.today()
today_str = today.strftime('%Y-%m-%d')
history = history.replace(".dev0", " (%s)" % today_str)
open(history_path, "w").write(history)
mod_path = os.path.join(PROJECT_DIRECTORY, source_dir, PROJECT_MODULE_FILENAME)
mod = open(mod_path, "r").read()
mod = re.sub("__version__ = '[\d\.]*\.dev0'",
"__version__ = '%s'" % version,
mod)
mod = open(mod_path, "w").write(mod)
if not DEV_RELEASE:
history_path = os.path.join(PROJECT_DIRECTORY, "HISTORY.rst")
history = open(history_path, "r").read()
today = datetime.datetime.today()
today_str = today.strftime('%Y-%m-%d')
history = history.replace(".dev0", " (%s)" % today_str)
open(history_path, "w").write(history)
mod = open(mod_path, "r").read()
mod = re.sub("__version__ = '[\d\.]*\.dev0'",
"__version__ = '%s'" % version,
mod)
mod = open(mod_path, "w").write(mod)
tag = "galaxy-%s-%s" % (PROJECT_NAME, version)
shell(["git", "commit", "-m", "Version %s of %s (tag %s)." % (version, PROJECT_NAME, tag),
"HISTORY.rst", mod_path])
+35 -21
View File
@@ -7,41 +7,55 @@ import sys
from distutils.version import StrictVersion
PROJECT_DIRECTORY = os.path.join(os.path.dirname(__file__), "..")
DEV_RELEASE = os.environ.get("DEV_RELEASE", None) == "1"
PROJECT_DIRECTORY = os.getcwd()
PROJECT_DIRECTORY_NAME = os.path.basename(os.path.abspath(PROJECT_DIRECTORY))
PROJECT_MODULE_FILENAME = "galaxy_%s.py" % PROJECT_DIRECTORY_NAME
PROJECT_MODULE_FILENAME = "project_galaxy_%s.py" % PROJECT_DIRECTORY_NAME
PROJECT_NAME = PROJECT_DIRECTORY_NAME.replace("_", "-")
def main(argv):
source_dir = argv[1]
old_version = StrictVersion(argv[2])
old_version_tuple = old_version.version
new_version_tuple = list(old_version_tuple)
new_version_tuple[1] = old_version_tuple[1] + 1
new_version_tuple[2] = 0
new_version = ".".join(map(str, new_version_tuple))
version = argv[2]
if not DEV_RELEASE:
old_version = StrictVersion(version)
old_version_tuple = old_version.version
new_version_tuple = list(old_version_tuple)
new_version_tuple[1] = old_version_tuple[1] + 1
new_version_tuple[2] = 0
new_version = ".".join(map(str, new_version_tuple))
new_dev_version = 0
else:
dev_version = re.compile(r'dev([\d]+)').search(version).group(1)
new_dev_version = int(dev_version) + 1
new_version = version.replace("dev%s" % dev_version, "dev%s" % new_dev_version)
history_path = os.path.join(PROJECT_DIRECTORY, "HISTORY.rst")
history = open(history_path, "r").read()
if not DEV_RELEASE:
history = open(history_path, "r").read()
def extend(from_str, line):
from_str += "\n"
return history.replace(from_str, from_str + line + "\n" )
def extend(from_str, line):
from_str += "\n"
return history.replace(from_str, from_str + line + "\n")
history = extend(".. to_doc", """
---------------------
%s.dev0
---------------------
history = extend(".. to_doc", """
---------------------
%s.dev0
---------------------
""" % new_version)
open(history_path, "w").write(history)
""" % new_version)
open(history_path, "w").write(history)
mod_path = os.path.join(PROJECT_DIRECTORY, source_dir, PROJECT_MODULE_FILENAME)
mod = open(mod_path, "r").read()
mod = re.sub("__version__ = '[\d\.]+'",
"__version__ = '%s.dev0'" % new_version,
mod, 1)
if not DEV_RELEASE:
mod = re.sub("__version__ = '[\d\.]+'",
"__version__ = '%s.dev0'" % new_version,
mod, 1)
else:
mod = re.sub("dev%s" % dev_version,
"dev%s" % new_dev_version,
mod, 1)
mod = open(mod_path, "w").write(mod)
shell(["git", "commit", "-m", "Starting work on %s %s" % (PROJECT_NAME, new_version),
"HISTORY.rst", mod_path])
@@ -1,24 +1,27 @@
from __future__ import print_function
import ast
import re
import os
import re
import sys
from distutils.version import LooseVersion
PROJECT_DIRECTORY = os.path.join(os.path.dirname(__file__), "..")
DEV_RELEASE = os.environ.get("DEV_RELEASE", None) == "1"
PROJECT_DIRECTORY = os.getcwd()
PROJECT_DIRECTORY_NAME = os.path.basename(os.path.abspath(PROJECT_DIRECTORY))
PROJECT_MODULE_FILENAME = "galaxy_%s.py" % PROJECT_DIRECTORY_NAME
PROJECT_MODULE_FILENAME = "project_galaxy_%s.py" % PROJECT_DIRECTORY_NAME
source_dir = sys.argv[1]
PROJECT_MODULE_PATH = os.path.join(PROJECT_DIRECTORY, source_dir, PROJECT_MODULE_FILENAME)
_version_re = re.compile(r'__version__\s+=\s+(.*)')
with open(PROJECT_MODULE_PATH, 'rb') as f:
version = str(ast.literal_eval(_version_re.search(
f.read().decode('utf-8')).group(1)))
# Strip .devN
version_tuple = LooseVersion(version).version[0:3]
print(".".join(map(str, version_tuple)))
if not DEV_RELEASE:
# Strip .devN
version_tuple = LooseVersion(version).version[0:3]
print(".".join(map(str, version_tuple)))
else:
print(version)
+4 -3
View File
@@ -7,7 +7,8 @@ IN_VENV=if [ -f $(VENV)/bin/activate ]; then . $(VENV)/bin/activate; fi;
UPSTREAM?=galaxyproject
SOURCE_DIR?=galaxy
BUILD_SCRIPTS_DIR=scripts
VERSION?=$(shell python $(BUILD_SCRIPTS_DIR)/print_version_for_release.py $(SOURCE_DIR))
DEV_RELEASE?=0
VERSION?=$(shell DEV_RELEASE=$(DEV_RELEASE) python $(BUILD_SCRIPTS_DIR)/print_version_for_release.py $(SOURCE_DIR) $(DEV_RELEASE))
PROJECT_NAME?="galaxy-$(shell basename $(CURDIR))"
PROJECT_NAME:=$(subst _,-,$(PROJECT_NAME))
TEST_DIR?=test
@@ -74,10 +75,10 @@ _release-artifacts:
release-artifacts: release-test-artifacts _release-artifacts
commit-version:
$(IN_VENV) python $(BUILD_SCRIPTS_DIR)/commit_version.py $(SOURCE_DIR) $(VERSION)
$(IN_VENV) DEV_RELEASE=$(DEV_RELEASE) python $(BUILD_SCRIPTS_DIR)/commit_version.py $(SOURCE_DIR) $(VERSION)
new-version:
$(IN_VENV) python $(BUILD_SCRIPTS_DIR)/new_version.py $(SOURCE_DIR) $(VERSION)
$(IN_VENV) DEV_RELEASE=$(DEV_RELEASE) python $(BUILD_SCRIPTS_DIR)/new_version.py $(SOURCE_DIR) $(VERSION)
release-local: commit-version release-artifacts new-version