diff options
author | Zachary T Welch <zw@superlucidity.net> | 2009-10-22 03:04:08 -0700 |
---|---|---|
committer | Zachary T Welch <zw@superlucidity.net> | 2009-10-27 23:53:15 -0700 |
commit | 0b882951b7f2d2bb25a2d78db4bb84134a86216c (patch) | |
tree | e13ddd75379fc3892d82eed7214c20daaa6b4960 /tools | |
parent | e8dc384be9d4bf2b7ed61178c02154dffdb15a9e (diff) |
Add script to test the release process.
Runs the release.sh script in a freshly cloned repository, charting
one hypothetical future of OpenOCD's lineage.
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/release/test.sh | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/tools/release/test.sh b/tools/release/test.sh new file mode 100755 index 00000000..1f321e0f --- /dev/null +++ b/tools/release/test.sh @@ -0,0 +1,121 @@ +#!/bin/sh -e + +SRC="$1" +if [ "${SRC}" ]; then + shift +else + SRC="${0%%/*}" +fi +if [ ! -d "${SRC}/.git" ]; then + echo "'${SRC}' is not a git repository" + exit 1 +fi + +DST="$1" +[ "${DST}" ] || DST="release-${SRC}" + +export RELEASE_FAST=yes + +cat <<EOF +Starting test release clone process: + from: '${SRC}' + to: '${DST}' +This will destroy any contents in '${DST}'. +EOF +echo -n "Press Control-C to abort in " +for i in $(seq 5 -1 1); do echo -n "$i "; sleep 1; done +echo "go!" + +rm -rf "${DST}" +git clone "${SRC}" "${DST}" + +cd "${DST}" +# TAG+RELEASE NEW BRANCH (w/ -dev) +# 0.3.0 0.4.0-rc0 +tools/release.sh release --next='minor' --start-rc + +git checkout -q "v0.3.0" +# <none> 0.3.1 +tools/release.sh branch --next='micro' +# 0.3.1 0.3.2 +tools/release.sh release --next='micro' + +git checkout "v0.4.0-rc0-dev" +# 0.4.0-rc0 0.4.0-rc1 +tools/release.sh release --next='rc' +# 0.4.0 1.0.0-rc0 +tools/release.sh release --next='major' --final --start-rc + +git checkout -q "v0.4.0" +# <none> 0.4.1 +tools/release.sh branch --next='micro' +# 0.4.1 0.4.2 +tools/release.sh release --next='micro' + +git checkout "v1.0.0-rc0-dev" +# 1.0.0-rc0 1.0.0-rc1 +tools/release.sh release --next='rc' +# 1.0.0 1.1.0-rc0 +tools/release.sh release --next='minor' --final --start-rc + +git checkout -q "v1.0.0" +# <none> 1.0.1 +tools/release.sh branch --next='micro' +# 1.0.1 1.0.2 +tools/release.sh release --next='micro' + +git checkout "v1.1.0-rc0-dev" +# 1.1.0-rc0 1.1.0-rc1 +tools/release.sh release --next='rc' +# 1.1.0 1.2.0 +tools/release.sh release --next='minor' --final --start-rc + +git checkout -q "v1.0.0" +tools/release.sh branch --next='major' --start-rc + +# <none> 2.0.0-rc0 +git checkout "v2.0.0-rc0-dev" +# 2.0.0-rc0 2.0.0-rc1 +tools/release.sh release --next='rc' +# 2.0.0-rc1 2.0.0-rc2 +tools/release.sh release --next='rc' +# 2.0.0 2.1.0-rc0 +tools/release.sh release --next='minor' --final --start-rc + +git checkout -q "v1.1.0" +# <none> 1.1.1 +tools/release.sh branch --next='micro' +# 1.1.1 1.1.2 +tools/release.sh release --next='micro' + +git checkout -q "v2.0.0" +# <none> 2.0.0 +tools/release.sh branch --next='micro' +# 2.0.1 2.0.2 +tools/release.sh release --next='micro' + +git checkout "v1.2.0-rc0-dev" +# 1.2.0-rc0 1.2.0-rc1 +tools/release.sh release --next='rc' +# 1.2.0 1.3.0-rc0 +tools/release.sh release --next='micro' --final + +git checkout "v2.1.0-rc0-dev" +# 2.1.0-rc0 2.1.0-rc1 +tools/release.sh release --next='rc' +# 2.1.0-rc1 2.1.0-rc2 +tools/release.sh release --next='rc' +# 2.1.0 2.2.0-rc0 +tools/release.sh release --next='minor' --final --start-rc + +git checkout -q "v2.1.0" +# <none> 2.1.1 +tools/release.sh branch --next='micro' +# 2.1.1 2.1.2 +tools/release.sh release --next='micro' + +git checkout "v2.2.0-rc0-dev" +# 2.2.0-rc0 2.2.0-rc1 +tools/release.sh release --next='rc' + +gitk --all |