update release scripts for new hosts, and CI to run more tests (#7480)

* update daily CI to include cluster and sentinel tests
* update daily CI to run when creating a new release
* update release scripts to work on the new redis.io hosts
This commit is contained in:
Oran Agra 2020-07-12 13:55:26 +03:00 committed by GitHub
parent 67660881ed
commit 7f19a04f0f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 68 additions and 26 deletions

View File

@ -1,14 +1,16 @@
name: Daily name: Daily
on: on:
release:
types: [created]
schedule: schedule:
- cron: '0 7 * * *' - cron: '0 0 * * *'
jobs: jobs:
test-jemalloc: test-jemalloc:
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 1200 timeout-minutes: 14400
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- name: make - name: make
@ -19,10 +21,14 @@ jobs:
./runtest --accurate --verbose ./runtest --accurate --verbose
- name: module api test - name: module api test
run: ./runtest-moduleapi --verbose run: ./runtest-moduleapi --verbose
- name: sentinel tests
run: ./runtest-sentinel
- name: cluster tests
run: ./runtest-cluster
test-libc-malloc: test-libc-malloc:
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 1200 timeout-minutes: 14400
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- name: make - name: make
@ -33,9 +39,14 @@ jobs:
./runtest --accurate --verbose ./runtest --accurate --verbose
- name: module api test - name: module api test
run: ./runtest-moduleapi --verbose run: ./runtest-moduleapi --verbose
- name: sentinel tests
run: ./runtest-sentinel
- name: cluster tests
run: ./runtest-cluster
test-32bit: test-32bit:
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 14400
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- name: make - name: make
@ -50,9 +61,14 @@ jobs:
run: | run: |
make -C tests/modules 32bit # the script below doesn't have an argument, we must build manually ahead of time make -C tests/modules 32bit # the script below doesn't have an argument, we must build manually ahead of time
./runtest-moduleapi --verbose ./runtest-moduleapi --verbose
- name: sentinel tests
run: ./runtest-sentinel
- name: cluster tests
run: ./runtest-cluster
test-tls: test-tls:
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 14400
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- name: make - name: make
@ -65,6 +81,10 @@ jobs:
./runtest --accurate --verbose --tls ./runtest --accurate --verbose --tls
- name: module api test - name: module api test
run: ./runtest-moduleapi --verbose --tls run: ./runtest-moduleapi --verbose --tls
- name: sentinel tests
run: ./runtest-sentinel
- name: cluster tests
run: ./runtest-cluster
test-valgrind: test-valgrind:
runs-on: ubuntu-latest runs-on: ubuntu-latest

View File

@ -1,14 +1,13 @@
#!/bin/sh #!/bin/sh
if [ $# != "1" ] if [ $# != "1" ]
then then
echo "Usage: ./mkrelease.sh <git-ref>" echo "Usage: ./utils/releasetools/01_create_tarball.sh <version_tag>"
exit 1 exit 1
fi fi
TAG=$1 TAG=$1
TARNAME="redis-${TAG}.tar" TARNAME="redis-${TAG}.tar"
echo "Generating /tmp/${TARNAME}" echo "Generating /tmp/${TARNAME}"
cd ~/hack/redis
git archive $TAG --prefix redis-${TAG}/ > /tmp/$TARNAME || exit 1 git archive $TAG --prefix redis-${TAG}/ > /tmp/$TARNAME || exit 1
echo "Gizipping the archive" echo "Gizipping the archive"
rm -f /tmp/$TARNAME.gz rm -f /tmp/$TARNAME.gz

View File

@ -1,6 +1,22 @@
#!/bin/bash #!/bin/bash
if [ $# != "1" ]
then
echo "Usage: ./utils/releasetools/02_upload_tarball.sh <version_tag>"
exit 1
fi
echo "Uploading..." echo "Uploading..."
scp /tmp/redis-${1}.tar.gz antirez@antirez.com:/var/virtual/download.redis.io/httpdocs/releases/ scp /tmp/redis-${1}.tar.gz ubuntu@host.redis.io:/var/www/download/releases/
echo "Updating web site... (press any key if it is a stable release, or Ctrl+C)" 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 read x
ssh antirez@antirez.com "cd /var/virtual/download.redis.io/httpdocs; ./update.sh ${1}" 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;
"

View File

@ -1,7 +1,8 @@
#!/bin/sh #!/bin/sh
set -e
if [ $# != "1" ] if [ $# != "1" ]
then then
echo "Usage: ${0} <git-ref>" echo "Usage: ./utils/releasetools/03_test_release.sh <version_tag>"
exit 1 exit 1
fi fi
@ -9,18 +10,18 @@ TAG=$1
TARNAME="redis-${TAG}.tar.gz" TARNAME="redis-${TAG}.tar.gz"
DOWNLOADURL="http://download.redis.io/releases/${TARNAME}" DOWNLOADURL="http://download.redis.io/releases/${TARNAME}"
ssh antirez@metal "export TERM=xterm; echo "Doing sanity test on the actual tarball"
cd /tmp;
rm -rf test_release_tmp_dir; cd /tmp
cd test_release_tmp_dir; rm -rf test_release_tmp_dir
rm -f $TARNAME; cd test_release_tmp_dir
rm -rf redis-${TAG}; rm -f $TARNAME
wget $DOWNLOADURL; rm -rf redis-${TAG}
tar xvzf $TARNAME; wget $DOWNLOADURL
cd redis-${TAG}; tar xvzf $TARNAME
make; cd redis-${TAG}
./runtest; make
./runtest-sentinel; ./runtest
if [ -x runtest-cluster ]; then ./runtest-sentinel
./runtest-cluster; ./runtest-cluster
fi" ./runtest-moduleapi

View File

@ -1,8 +1,14 @@
#!/bin/bash #!/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' ') 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" ENTRY="hash redis-${1}.tar.gz sha256 $SHA http://download.redis.io/releases/redis-${1}.tar.gz"
echo $ENTRY >> ~/hack/redis-hashes/README echo $ENTRY >> ~/hack/redis-hashes/README
vi ~/hack/redis-hashes/README vi ../redis-hashes/README
echo "Press any key to commit, Ctrl-C to abort)." echo "Press any key to commit, Ctrl-C to abort)."
read yes read yes
(cd ~/hack/redis-hashes; git commit -a -m "${1} hash."; git push) (cd ../redis-hashes; git commit -a -m "${1} hash."; git push)