95d6297db8
1. Add `redis-server test all` support to run all tests. 2. Add redis test to daily ci. 3. Add `--accurate` option to run slow tests for more iterations (so that by default we run less cycles (shorter time, and less prints). 4. Move dict benchmark to REDIS_TEST. 5. fix some leaks in tests 6. make quicklist tests run on a specific fill set of options rather than huge ranges 7. move some prints in quicklist test outside their loops to reduce prints 8. removing sds.h from dict.c since it is now used in both redis-server and redis-cli (uses hiredis sds)
309 lines
8.6 KiB
YAML
309 lines
8.6 KiB
YAML
name: Daily
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
# any PR to a release branch.
|
|
- '[0-9].[0-9]'
|
|
schedule:
|
|
- cron: '0 0 * * *'
|
|
|
|
jobs:
|
|
|
|
test-ubuntu-jemalloc:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'redis/redis'
|
|
timeout-minutes: 14400
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: make
|
|
run: make REDIS_CFLAGS='-Werror -DREDIS_TEST'
|
|
- name: test
|
|
run: |
|
|
sudo apt-get install tcl8.6
|
|
./runtest --accurate --verbose --dump-logs
|
|
- name: module api test
|
|
run: ./runtest-moduleapi --verbose
|
|
- name: sentinel tests
|
|
run: ./runtest-sentinel
|
|
- name: cluster tests
|
|
run: ./runtest-cluster
|
|
- name: unittest
|
|
run: ./src/redis-server test all
|
|
|
|
test-ubuntu-libc-malloc:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'redis/redis'
|
|
timeout-minutes: 14400
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: make
|
|
run: make MALLOC=libc
|
|
- name: test
|
|
run: |
|
|
sudo apt-get install tcl8.6
|
|
./runtest --accurate --verbose --dump-logs
|
|
- name: module api test
|
|
run: ./runtest-moduleapi --verbose
|
|
- name: sentinel tests
|
|
run: ./runtest-sentinel
|
|
- name: cluster tests
|
|
run: ./runtest-cluster
|
|
|
|
test-ubuntu-no-malloc-usable-size:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'redis/redis'
|
|
timeout-minutes: 14400
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: make
|
|
run: make MALLOC=libc CFLAGS=-DNO_MALLOC_USABLE_SIZE
|
|
- name: test
|
|
run: |
|
|
sudo apt-get install tcl8.6
|
|
./runtest --accurate --verbose --dump-logs
|
|
- name: module api test
|
|
run: ./runtest-moduleapi --verbose
|
|
- name: sentinel tests
|
|
run: ./runtest-sentinel
|
|
- name: cluster tests
|
|
run: ./runtest-cluster
|
|
|
|
test-ubuntu-32bit:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'redis/redis'
|
|
timeout-minutes: 14400
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: make
|
|
run: |
|
|
sudo apt-get update && sudo apt-get install libc6-dev-i386
|
|
make 32bit REDIS_CFLAGS='-Werror -DREDIS_TEST'
|
|
- name: test
|
|
run: |
|
|
sudo apt-get install tcl8.6
|
|
./runtest --accurate --verbose --dump-logs
|
|
- name: module api test
|
|
run: |
|
|
make -C tests/modules 32bit # the script below doesn't have an argument, we must build manually ahead of time
|
|
./runtest-moduleapi --verbose
|
|
- name: sentinel tests
|
|
run: ./runtest-sentinel
|
|
- name: cluster tests
|
|
run: ./runtest-cluster
|
|
- name: unittest
|
|
run: ./src/redis-server test all
|
|
|
|
test-ubuntu-tls:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'redis/redis'
|
|
timeout-minutes: 14400
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: make
|
|
run: |
|
|
make BUILD_TLS=yes
|
|
- name: test
|
|
run: |
|
|
sudo apt-get install tcl8.6 tcl-tls
|
|
./utils/gen-test-certs.sh
|
|
./runtest --accurate --verbose --tls --dump-logs
|
|
./runtest --accurate --verbose --dump-logs
|
|
- name: module api test
|
|
run: |
|
|
./runtest-moduleapi --verbose --tls
|
|
./runtest-moduleapi --verbose
|
|
- name: sentinel tests
|
|
run: |
|
|
./runtest-sentinel --tls
|
|
./runtest-sentinel
|
|
- name: cluster tests
|
|
run: |
|
|
./runtest-cluster --tls
|
|
./runtest-cluster
|
|
|
|
test-ubuntu-io-threads:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'redis/redis'
|
|
timeout-minutes: 14400
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: make
|
|
run: |
|
|
make
|
|
- name: test
|
|
run: |
|
|
sudo apt-get install tcl8.6 tcl-tls
|
|
./runtest --config io-threads 4 --config io-threads-do-reads yes --accurate --verbose --tags network --dump-logs
|
|
- name: cluster tests
|
|
run: |
|
|
./runtest-cluster --config io-threads 4 --config io-threads-do-reads yes
|
|
|
|
test-valgrind:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'redis/redis'
|
|
timeout-minutes: 14400
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: make
|
|
run: make valgrind REDIS_CFLAGS='-Werror -DREDIS_TEST'
|
|
- name: test
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install tcl8.6 valgrind -y
|
|
./runtest --valgrind --verbose --clients 1 --dump-logs
|
|
- name: module api test
|
|
run: ./runtest-moduleapi --valgrind --no-latency --verbose --clients 1
|
|
- name: unittest
|
|
run: |
|
|
valgrind --track-origins=yes --suppressions=./src/valgrind.sup --show-reachable=no --show-possibly-lost=no --leak-check=full --log-file=err.txt ./src/redis-server test all
|
|
if grep -q 0x err.txt; then cat err.txt; exit 1; fi
|
|
|
|
test-valgrind-no-malloc-usable-size:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'redis/redis'
|
|
timeout-minutes: 14400
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: make
|
|
run: make valgrind CFLAGS="-DNO_MALLOC_USABLE_SIZE"
|
|
- name: test
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install tcl8.6 valgrind -y
|
|
./runtest --valgrind --verbose --clients 1 --dump-logs
|
|
- name: module api test
|
|
run: ./runtest-moduleapi --valgrind --no-latency --verbose --clients 1
|
|
|
|
test-centos7-jemalloc:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'redis/redis'
|
|
container: centos:7
|
|
timeout-minutes: 14400
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: make
|
|
run: |
|
|
yum -y install gcc make
|
|
make
|
|
- name: test
|
|
run: |
|
|
yum -y install which tcl
|
|
./runtest --accurate --verbose --dump-logs
|
|
- name: module api test
|
|
run: ./runtest-moduleapi --verbose
|
|
- name: sentinel tests
|
|
run: ./runtest-sentinel
|
|
- name: cluster tests
|
|
run: ./runtest-cluster
|
|
|
|
test-centos7-tls:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'redis/redis'
|
|
container: centos:7
|
|
timeout-minutes: 14400
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: make
|
|
run: |
|
|
yum -y install centos-release-scl epel-release
|
|
yum -y install devtoolset-7 openssl-devel openssl
|
|
scl enable devtoolset-7 "make BUILD_TLS=yes"
|
|
- name: test
|
|
run: |
|
|
yum -y install tcl tcltls
|
|
./utils/gen-test-certs.sh
|
|
./runtest --accurate --verbose --tls --dump-logs
|
|
./runtest --accurate --verbose --dump-logs
|
|
- name: module api test
|
|
run: |
|
|
./runtest-moduleapi --verbose --tls
|
|
./runtest-moduleapi --verbose
|
|
- name: sentinel tests
|
|
run: |
|
|
./runtest-sentinel --tls
|
|
./runtest-sentinel
|
|
- name: cluster tests
|
|
run: |
|
|
./runtest-cluster --tls
|
|
./runtest-cluster
|
|
|
|
test-macos-latest:
|
|
runs-on: macos-latest
|
|
if: github.repository == 'redis/redis'
|
|
timeout-minutes: 14400
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: make
|
|
run: make
|
|
- name: test
|
|
run: |
|
|
./runtest --accurate --verbose --no-latency --dump-logs
|
|
- name: module api test
|
|
run: ./runtest-moduleapi --verbose
|
|
- name: sentinel tests
|
|
run: ./runtest-sentinel
|
|
- name: cluster tests
|
|
run: ./runtest-cluster
|
|
|
|
test-freebsd:
|
|
runs-on: macos-latest
|
|
if: github.repository == 'redis/redis'
|
|
timeout-minutes: 14400
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: test
|
|
uses: vmactions/freebsd-vm@v0.1.2
|
|
with:
|
|
usesh: true
|
|
sync: rsync
|
|
prepare: pkg install -y bash gmake lang/tcl86
|
|
run: >
|
|
gmake &&
|
|
./runtest --accurate --verbose --no-latency --dump-logs &&
|
|
MAKE=gmake ./runtest-moduleapi --verbose &&
|
|
./runtest-sentinel &&
|
|
./runtest-cluster
|
|
|
|
test-alpine-jemalloc:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'redis/redis'
|
|
container: alpine:latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: make
|
|
run: |
|
|
apk add build-base
|
|
make REDIS_CFLAGS='-Werror'
|
|
- name: test
|
|
run: |
|
|
apk add tcl procps
|
|
./runtest --accurate --verbose --dump-logs
|
|
- name: module api test
|
|
run: ./runtest-moduleapi --verbose
|
|
- name: sentinel tests
|
|
run: ./runtest-sentinel
|
|
- name: cluster tests
|
|
run: ./runtest-cluster
|
|
|
|
test-alpine-libc-malloc:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'redis/redis'
|
|
container: alpine:latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: make
|
|
run: |
|
|
apk add build-base
|
|
make REDIS_CFLAGS='-Werror' USE_JEMALLOC=no CFLAGS=-DUSE_MALLOC_USABLE_SIZE
|
|
- name: test
|
|
run: |
|
|
apk add tcl procps
|
|
./runtest --accurate --verbose --dump-logs
|
|
- name: module api test
|
|
run: ./runtest-moduleapi --verbose
|
|
- name: sentinel tests
|
|
run: ./runtest-sentinel
|
|
- name: cluster tests
|
|
run: ./runtest-cluster
|