This automates the release+test cycle a bit so people don't have to do
it all by hand.
---
 DEVELOPING   |  7 ++-----
 mkrelease.sh | 15 +++++++++++++--
 2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/DEVELOPING b/DEVELOPING
index 7aac81b..b704a50 100644
--- a/DEVELOPING
+++ b/DEVELOPING
@@ -167,11 +167,8 @@ Releases
 First create a git tag for this release:
        git tag v2.2.8
 
-Then create the tarball:
-       ./mkrelease.sh --changelog-rev v2.2.7 --tag 2.2.8
-
-Unpack the tarball and run tests:
-       ./runtests.sh --python-versions=supported
+Then create the tarball and run the tests:
+       ./mkrelease.sh --changelog-rev v2.2.7 --tag --runtests 2.2.8
 Make sure you have all supported python versions installed first
 (see PYTHON_SUPPORTED_VERSIONS in runtests.sh).
 
diff --git a/mkrelease.sh b/mkrelease.sh
index 50bdb3c..334b4fb 100755
--- a/mkrelease.sh
+++ b/mkrelease.sh
@@ -8,9 +8,10 @@ BRANCH=${BRANCH:-master}
 USE_TAG=false
 CHANGELOG_REVISION=
 UPLOAD_LOCATION=
+RUNTESTS=false
 
 usage() {
-       echo "Usage: ${0##*/} [--changelog-rev <tree-ish>] [-t|--tag] 
[-u|--upload <location>] <version>"
+       echo "Usage: ${0##*/} [--changelog-rev <tree-ish>] [-t|--tag] 
[-u|--upload <location>] [--runtests] <version>"
        exit ${1:-0}
 }
 
@@ -19,7 +20,7 @@ die() {
        usage 1
 }
 
-ARGS=$(getopt -o htu: --long help,changelog-rev:,tag,upload: \
+ARGS=$(getopt -o htu: --long help,changelog-rev:,runtests,tag,upload: \
        -n "${0##*/}" -- "$@")
 [ $? != 0 ] && die "initialization error"
 
@@ -42,6 +43,10 @@ while true; do
                -h|--help)
                        usage
                        ;;
+               --runtests)
+                       RUNTESTS=true
+                       shift
+                       ;;
                --)
                        shift
                        break
@@ -78,6 +83,12 @@ cp -a "${SOURCE_DIR}/"{bin,cnf,doc,man,misc,pym} 
"${RELEASE_DIR}/" || die "direc
 cp 
"${SOURCE_DIR}/"{DEVELOPING,LICENSE,Makefile,NEWS,README,RELEASE-NOTES,TEST-NOTES}
 \
        "${RELEASE_DIR}/" || die "file copy failed"
 
+if [[ ${RUNTESTS} == "true" ]] ; then
+       pushd "${SOURCE_DIR}" >/dev/null
+       ./runtests.sh --python-versions=supported || die "tests failed"
+       popd >/dev/null
+fi
+
 rm -rf "${SOURCE_DIR}" || die "directory cleanup failed"
 
 echo ">>> Setting portage.VERSION"
-- 
1.8.4.3


Reply via email to