diff options
Diffstat (limited to 'utils/releasetools')
-rwxr-xr-x | utils/releasetools/01_create_tarball.sh | 14 | ||||
-rwxr-xr-x | utils/releasetools/02_upload_tarball.sh | 23 | ||||
-rwxr-xr-x | utils/releasetools/03_test_release.sh | 28 | ||||
-rwxr-xr-x | utils/releasetools/04_release_hash.sh | 13 | ||||
-rwxr-xr-x | utils/releasetools/changelog.tcl | 35 |
5 files changed, 113 insertions, 0 deletions
diff --git a/utils/releasetools/01_create_tarball.sh b/utils/releasetools/01_create_tarball.sh new file mode 100755 index 0000000..366a61e --- /dev/null +++ b/utils/releasetools/01_create_tarball.sh @@ -0,0 +1,14 @@ +#!/bin/sh +if [ $# != "1" ] +then + echo "Usage: ./utils/releasetools/01_create_tarball.sh <version_tag>" + exit 1 +fi + +TAG=$1 +TARNAME="redis-${TAG}.tar" +echo "Generating /tmp/${TARNAME}" +git archive $TAG --prefix redis-${TAG}/ > /tmp/$TARNAME || exit 1 +echo "Gizipping the archive" +rm -f /tmp/$TARNAME.gz +gzip -9 /tmp/$TARNAME diff --git a/utils/releasetools/02_upload_tarball.sh b/utils/releasetools/02_upload_tarball.sh new file mode 100755 index 0000000..ef1e777 --- /dev/null +++ b/utils/releasetools/02_upload_tarball.sh @@ -0,0 +1,23 @@ +#!/bin/bash +if [ $# != "1" ] +then + echo "Usage: ./utils/releasetools/02_upload_tarball.sh <version_tag>" + exit 1 +fi + +echo "Uploading..." +scp /tmp/redis-${1}.tar.gz ubuntu@host.redis.io:/var/www/download/releases/ +echo "Updating web site... " +echo "Please check the github action tests for the release." +echo "Press any key if it is a stable release, or Ctrl+C to abort" +read x +ssh ubuntu@host.redis.io "cd /var/www/download; + rm -rf redis-${1}.tar.gz; + wget http://download.redis.io/releases/redis-${1}.tar.gz; + tar xvzf redis-${1}.tar.gz; + rm -rf redis-stable; + mv redis-${1} redis-stable; + tar cvzf redis-stable.tar.gz redis-stable; + rm -rf redis-${1}.tar.gz; + shasum -a 256 redis-stable.tar.gz > redis-stable.tar.gz.SHA256SUM; + " diff --git a/utils/releasetools/03_test_release.sh b/utils/releasetools/03_test_release.sh new file mode 100755 index 0000000..493d0b7 --- /dev/null +++ b/utils/releasetools/03_test_release.sh @@ -0,0 +1,28 @@ +#!/bin/sh +set -e +if [ $# != "1" ] +then + echo "Usage: ./utils/releasetools/03_test_release.sh <version_tag>" + exit 1 +fi + +TAG=$1 +TARNAME="redis-${TAG}.tar.gz" +DOWNLOADURL="http://download.redis.io/releases/${TARNAME}" + +echo "Doing sanity test on the actual tarball" + +cd /tmp +rm -rf test_release_tmp_dir +mkdir test_release_tmp_dir +cd test_release_tmp_dir +rm -f $TARNAME +rm -rf redis-${TAG} +wget $DOWNLOADURL +tar xvzf $TARNAME +cd redis-${TAG} +make +./runtest +./runtest-sentinel +./runtest-cluster +./runtest-moduleapi diff --git a/utils/releasetools/04_release_hash.sh b/utils/releasetools/04_release_hash.sh new file mode 100755 index 0000000..d932928 --- /dev/null +++ b/utils/releasetools/04_release_hash.sh @@ -0,0 +1,13 @@ +#!/bin/bash +if [ $# != "1" ] +then + echo "Usage: ./utils/releasetools/04_release_hash.sh <version_tag>" + exit 1 +fi + +SHA=$(curl -s http://download.redis.io/releases/redis-${1}.tar.gz | shasum -a 256 | cut -f 1 -d' ') +ENTRY="hash redis-${1}.tar.gz sha256 $SHA http://download.redis.io/releases/redis-${1}.tar.gz" +echo $ENTRY >> ../redis-hashes/README +echo "Press any key to commit, Ctrl-C to abort)." +read yes +(cd ../redis-hashes; git commit -a -m "${1} hash."; git push) diff --git a/utils/releasetools/changelog.tcl b/utils/releasetools/changelog.tcl new file mode 100755 index 0000000..2288794 --- /dev/null +++ b/utils/releasetools/changelog.tcl @@ -0,0 +1,35 @@ +#!/usr/bin/env tclsh + +if {[llength $::argv] != 2 && [llength $::argv] != 3} { + puts "Usage: $::argv0 <branch> <version> \[<num-commits>\]" + exit 1 +} + +set branch [lindex $::argv 0] +set ver [lindex $::argv 1] +if {[llength $::argv] == 3} { + set count [lindex ::$argv 2] +} else { + set count 100 +} + +set template { +================================================================================ +Redis %ver% Released %date% +================================================================================ + +Upgrade urgency <URGENCY>: <DESCRIPTION> +} + +set template [string trim $template] +append template "\n\n" +set date [clock format [clock seconds]] +set template [string map [list %ver% $ver %date% $date] $template] + +append template [exec git log $branch~$count..$branch "--format=format:%an in commit %h:%n %s" --shortstat] + +#Older, more verbose version. +# +#append template [exec git log $branch~30..$branch "--format=format:+-------------------------------------------------------------------------------%n| %s%n| By %an, %ai%n+--------------------------------------------------------------------------------%nhttps://github.com/redis/redis/commit/%H%n%n%b" --stat] + +puts $template |