mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-23 08:38:27 -05:00
522d93607a
This adds basic coverage to IO threads by running the cluster and few selected Redis test suite tests with the IO threads enabled. Also provides some necessary additional improvements to the test suite: * Add --config to sentinel/cluster tests for arbitrary configuration. * Fix --tags whitelisting which was broken. * Add a `network` tag to some tests that are more network intensive. This is work in progress and more tests should be properly tagged in the future.
206 lines
5.3 KiB
YAML
206 lines
5.3 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
|
|
- name: test
|
|
run: |
|
|
sudo apt-get install tcl8.5
|
|
./runtest --accurate --verbose
|
|
- name: module api test
|
|
run: ./runtest-moduleapi --verbose
|
|
- name: sentinel tests
|
|
run: ./runtest-sentinel
|
|
- name: cluster tests
|
|
run: ./runtest-cluster
|
|
|
|
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.5
|
|
./runtest --accurate --verbose
|
|
- 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
|
|
- name: test
|
|
run: |
|
|
sudo apt-get install tcl8.5
|
|
./runtest --accurate --verbose
|
|
- 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
|
|
|
|
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.5 tcl-tls
|
|
./utils/gen-test-certs.sh
|
|
./runtest --accurate --verbose --tls
|
|
./runtest --accurate --verbose
|
|
- 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.5 tcl-tls
|
|
./runtest --config io-threads 4 --config io-threads-do-reads yes --accurate --verbose --tags network
|
|
- 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
|
|
- name: test
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install tcl8.5 valgrind -y
|
|
./runtest --valgrind --verbose --clients 1
|
|
- name: module api test
|
|
run: ./runtest-moduleapi --valgrind --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
|
|
- 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
|
|
./runtest --accurate --verbose
|
|
- 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
|
|
- name: module api test
|
|
run: ./runtest-moduleapi --verbose
|
|
- name: sentinel tests
|
|
run: ./runtest-sentinel
|
|
- name: cluster tests
|
|
run: ./runtest-cluster
|
|
|