feat: support max data loss & sentinel join & leave #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Daily | |
on: | |
pull_request: | |
branches: | |
# any PR to a release branch. | |
- '[0-9].[0-9]' | |
schedule: | |
- cron: '0 0 * * *' | |
workflow_dispatch: | |
inputs: | |
skipjobs: | |
description: 'jobs to skip (delete the ones you wanna keep, do not leave empty)' | |
default: 'valgrind,sanitizer,tls,freebsd,macos,alpine,32bit,iothreads,ubuntu,centos,malloc' | |
skiptests: | |
description: 'tests to skip (delete the ones you wanna keep, do not leave empty)' | |
default: 'redis,modules,sentinel,cluster,unittest' | |
test_args: | |
description: 'extra test arguments' | |
default: '' | |
cluster_test_args: | |
description: 'extra cluster / sentinel test arguments' | |
default: '' | |
use_repo: | |
description: 'repo owner and name' | |
default: 'redis/redis' | |
use_git_ref: | |
description: 'git branch or sha to use' | |
default: 'unstable' | |
jobs: | |
test-ubuntu-jemalloc: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'ubuntu') | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
echo "skipping: ${{github.event.inputs.skipjobs}} and ${{github.event.inputs.skiptests}}" | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: make REDIS_CFLAGS='-Werror -DREDIS_TEST' | |
- name: testprep | |
run: sudo apt-get install tcl8.6 tclx | |
- name: test | |
if: true && !contains(github.event.inputs.skiptests, 'redis') | |
run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: module api test | |
if: true && !contains(github.event.inputs.skiptests, 'modules') | |
run: ./runtest-moduleapi --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: sentinel tests | |
if: true && !contains(github.event.inputs.skiptests, 'sentinel') | |
run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}} | |
- name: cluster tests | |
if: true && !contains(github.event.inputs.skiptests, 'cluster') | |
run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}} | |
- name: unittest | |
if: true && !contains(github.event.inputs.skiptests, 'unittest') | |
run: ./src/redis-server test all --accurate | |
test-ubuntu-libc-malloc: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'malloc') | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: make MALLOC=libc REDIS_CFLAGS='-Werror' | |
- name: testprep | |
run: sudo apt-get install tcl8.6 tclx | |
- name: test | |
if: true && !contains(github.event.inputs.skiptests, 'redis') | |
run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: module api test | |
if: true && !contains(github.event.inputs.skiptests, 'modules') | |
run: ./runtest-moduleapi --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: sentinel tests | |
if: true && !contains(github.event.inputs.skiptests, 'sentinel') | |
run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}} | |
- name: cluster tests | |
if: true && !contains(github.event.inputs.skiptests, 'cluster') | |
run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}} | |
test-ubuntu-no-malloc-usable-size: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'malloc') | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: make MALLOC=libc CFLAGS=-DNO_MALLOC_USABLE_SIZE REDIS_CFLAGS='-Werror' | |
- name: testprep | |
run: sudo apt-get install tcl8.6 tclx | |
- name: test | |
if: true && !contains(github.event.inputs.skiptests, 'redis') | |
run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: module api test | |
if: true && !contains(github.event.inputs.skiptests, 'modules') | |
run: ./runtest-moduleapi --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: sentinel tests | |
if: true && !contains(github.event.inputs.skiptests, 'sentinel') | |
run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}} | |
- name: cluster tests | |
if: true && !contains(github.event.inputs.skiptests, 'cluster') | |
run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}} | |
test-ubuntu-32bit: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, '32bit') | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: | | |
sudo apt-get update && sudo apt-get install libc6-dev-i386 | |
make 32bit REDIS_CFLAGS='-Werror -DREDIS_TEST' | |
- name: testprep | |
run: sudo apt-get install tcl8.6 tclx | |
- name: test | |
if: true && !contains(github.event.inputs.skiptests, 'redis') | |
run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: module api test | |
if: true && !contains(github.event.inputs.skiptests, 'modules') | |
run: | | |
make -C tests/modules 32bit # the script below doesn't have an argument, we must build manually ahead of time | |
./runtest-moduleapi --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: sentinel tests | |
if: true && !contains(github.event.inputs.skiptests, 'sentinel') | |
run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}} | |
- name: cluster tests | |
if: true && !contains(github.event.inputs.skiptests, 'cluster') | |
run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}} | |
- name: unittest | |
if: true && !contains(github.event.inputs.skiptests, 'unittest') | |
run: ./src/redis-server test all --accurate | |
test-ubuntu-tls: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'tls') | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: | | |
make BUILD_TLS=yes REDIS_CFLAGS='-Werror' | |
- name: testprep | |
run: | | |
sudo apt-get install tcl8.6 tclx tcl-tls | |
./utils/gen-test-certs.sh | |
- name: test | |
if: true && !contains(github.event.inputs.skiptests, 'redis') | |
run: | | |
./runtest --accurate --verbose --dump-logs --tls --dump-logs ${{github.event.inputs.test_args}} | |
- name: module api test | |
if: true && !contains(github.event.inputs.skiptests, 'modules') | |
run: | | |
./runtest-moduleapi --verbose --dump-logs --tls --dump-logs ${{github.event.inputs.test_args}} | |
- name: sentinel tests | |
if: true && !contains(github.event.inputs.skiptests, 'sentinel') | |
run: | | |
./runtest-sentinel --tls ${{github.event.inputs.cluster_test_args}} | |
- name: cluster tests | |
if: true && !contains(github.event.inputs.skiptests, 'cluster') | |
run: | | |
./runtest-cluster --tls ${{github.event.inputs.cluster_test_args}} | |
test-ubuntu-tls-no-tls: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'tls') | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: | | |
make BUILD_TLS=yes REDIS_CFLAGS='-Werror' | |
- name: testprep | |
run: | | |
sudo apt-get install tcl8.6 tclx tcl-tls | |
./utils/gen-test-certs.sh | |
- name: test | |
if: true && !contains(github.event.inputs.skiptests, 'redis') | |
run: | | |
./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: module api test | |
if: true && !contains(github.event.inputs.skiptests, 'modules') | |
run: | | |
./runtest-moduleapi --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: sentinel tests | |
if: true && !contains(github.event.inputs.skiptests, 'sentinel') | |
run: | | |
./runtest-sentinel ${{github.event.inputs.cluster_test_args}} | |
- name: cluster tests | |
if: true && !contains(github.event.inputs.skiptests, 'cluster') | |
run: | | |
./runtest-cluster ${{github.event.inputs.cluster_test_args}} | |
test-ubuntu-io-threads: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'iothreads') | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: | | |
make REDIS_CFLAGS='-Werror' | |
- name: testprep | |
run: sudo apt-get install tcl8.6 tclx | |
- name: test | |
if: true && !contains(github.event.inputs.skiptests, 'redis') | |
run: ./runtest --config io-threads 4 --config io-threads-do-reads yes --accurate --verbose --tags network --dump-logs ${{github.event.inputs.test_args}} | |
- name: cluster tests | |
if: true && !contains(github.event.inputs.skiptests, 'cluster') | |
run: ./runtest-cluster --config io-threads 4 --config io-threads-do-reads yes ${{github.event.inputs.cluster_test_args}} | |
test-valgrind-test: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'valgrind') && !contains(github.event.inputs.skiptests, 'redis') | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: make valgrind REDIS_CFLAGS='-Werror -DREDIS_TEST' | |
- name: testprep | |
run: | | |
sudo apt-get update | |
sudo apt-get install tcl8.6 tclx valgrind -y | |
- name: test | |
if: true && !contains(github.event.inputs.skiptests, 'redis') | |
run: ./runtest --valgrind --no-latency --verbose --clients 1 --timeout 2400 --dump-logs ${{github.event.inputs.test_args}} | |
test-valgrind-misc: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'valgrind') && !(contains(github.event.inputs.skiptests, 'modules') && contains(github.event.inputs.skiptests, 'unittest')) | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: make valgrind REDIS_CFLAGS='-Werror -DREDIS_TEST' | |
- name: testprep | |
run: | | |
sudo apt-get update | |
sudo apt-get install tcl8.6 tclx valgrind -y | |
- name: module api test | |
if: true && !contains(github.event.inputs.skiptests, 'modules') | |
run: ./runtest-moduleapi --valgrind --no-latency --verbose --clients 1 --timeout 2400 --dump-logs ${{github.event.inputs.test_args}} | |
- name: unittest | |
if: true && !contains(github.event.inputs.skiptests, '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-test: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'valgrind') && !contains(github.event.inputs.skiptests, 'redis') | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: make valgrind CFLAGS="-DNO_MALLOC_USABLE_SIZE -DREDIS_TEST" REDIS_CFLAGS='-Werror' | |
- name: testprep | |
run: | | |
sudo apt-get update | |
sudo apt-get install tcl8.6 tclx valgrind -y | |
- name: test | |
if: true && !contains(github.event.inputs.skiptests, 'redis') | |
run: ./runtest --valgrind --no-latency --verbose --clients 1 --timeout 2400 --dump-logs ${{github.event.inputs.test_args}} | |
test-valgrind-no-malloc-usable-size-misc: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'valgrind') && !(contains(github.event.inputs.skiptests, 'modules') && contains(github.event.inputs.skiptests, 'unittest')) | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: make valgrind CFLAGS="-DNO_MALLOC_USABLE_SIZE -DREDIS_TEST" REDIS_CFLAGS='-Werror' | |
- name: testprep | |
run: | | |
sudo apt-get update | |
sudo apt-get install tcl8.6 tclx valgrind -y | |
- name: module api test | |
if: true && !contains(github.event.inputs.skiptests, 'modules') | |
run: ./runtest-moduleapi --valgrind --no-latency --verbose --clients 1 --timeout 2400 --dump-logs ${{github.event.inputs.test_args}} | |
- name: unittest | |
if: true && !contains(github.event.inputs.skiptests, '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-sanitizer-address: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'sanitizer') | |
timeout-minutes: 14400 | |
strategy: | |
matrix: | |
compiler: [ gcc, clang ] | |
env: | |
CC: ${{ matrix.compiler }} | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: make SANITIZER=address REDIS_CFLAGS='-DREDIS_TEST -Werror' | |
- name: testprep | |
run: | | |
sudo apt-get update | |
sudo apt-get install tcl8.6 tclx -y | |
- name: test | |
if: true && !contains(github.event.inputs.skiptests, 'redis') | |
run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: module api test | |
if: true && !contains(github.event.inputs.skiptests, 'modules') | |
run: ./runtest-moduleapi --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: sentinel tests | |
if: true && !contains(github.event.inputs.skiptests, 'sentinel') | |
run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}} | |
- name: cluster tests | |
if: true && !contains(github.event.inputs.skiptests, 'cluster') | |
run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}} | |
- name: unittest | |
if: true && !contains(github.event.inputs.skiptests, 'unittest') | |
run: ./src/redis-server test all | |
test-sanitizer-undefined: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'sanitizer') | |
timeout-minutes: 14400 | |
strategy: | |
matrix: | |
compiler: [ gcc, clang ] | |
env: | |
CC: ${{ matrix.compiler }} | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: make SANITIZER=undefined REDIS_CFLAGS='-DREDIS_TEST -Werror' LUA_DEBUG=yes # we (ab)use this flow to also check Lua C API violations | |
- name: testprep | |
run: | | |
sudo apt-get update | |
sudo apt-get install tcl8.6 tclx -y | |
- name: test | |
if: true && !contains(github.event.inputs.skiptests, 'redis') | |
run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: module api test | |
if: true && !contains(github.event.inputs.skiptests, 'modules') | |
run: ./runtest-moduleapi --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: sentinel tests | |
if: true && !contains(github.event.inputs.skiptests, 'sentinel') | |
run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}} | |
- name: cluster tests | |
if: true && !contains(github.event.inputs.skiptests, 'cluster') | |
run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}} | |
- name: unittest | |
if: true && !contains(github.event.inputs.skiptests, 'unittest') | |
run: ./src/redis-server test all --accurate | |
test-centos7-jemalloc: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'centos') | |
container: centos:7 | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: | | |
yum -y install gcc make | |
make REDIS_CFLAGS='-Werror' | |
- name: testprep | |
run: yum -y install which tcl tclx | |
- name: test | |
if: true && !contains(github.event.inputs.skiptests, 'redis') | |
run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: module api test | |
if: true && !contains(github.event.inputs.skiptests, 'modules') | |
run: ./runtest-moduleapi --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: sentinel tests | |
if: true && !contains(github.event.inputs.skiptests, 'sentinel') | |
run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}} | |
- name: cluster tests | |
if: true && !contains(github.event.inputs.skiptests, 'cluster') | |
run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}} | |
test-centos7-tls: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'tls') | |
container: centos:7 | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- 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 REDIS_CFLAGS='-Werror'" | |
- name: testprep | |
run: | | |
yum -y install tcl tcltls tclx | |
./utils/gen-test-certs.sh | |
- name: test | |
if: true && !contains(github.event.inputs.skiptests, 'redis') | |
run: | | |
./runtest --accurate --verbose --dump-logs --tls --dump-logs ${{github.event.inputs.test_args}} | |
- name: module api test | |
if: true && !contains(github.event.inputs.skiptests, 'modules') | |
run: | | |
./runtest-moduleapi --verbose --dump-logs --tls --dump-logs ${{github.event.inputs.test_args}} | |
- name: sentinel tests | |
if: true && !contains(github.event.inputs.skiptests, 'sentinel') | |
run: | | |
./runtest-sentinel --tls ${{github.event.inputs.cluster_test_args}} | |
- name: cluster tests | |
if: true && !contains(github.event.inputs.skiptests, 'cluster') | |
run: | | |
./runtest-cluster --tls ${{github.event.inputs.cluster_test_args}} | |
test-centos7-tls-no-tls: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'tls') | |
container: centos:7 | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- 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 REDIS_CFLAGS='-Werror'" | |
- name: testprep | |
run: | | |
yum -y install tcl tcltls tclx | |
./utils/gen-test-certs.sh | |
- name: test | |
if: true && !contains(github.event.inputs.skiptests, 'redis') | |
run: | | |
./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: module api test | |
if: true && !contains(github.event.inputs.skiptests, 'modules') | |
run: | | |
./runtest-moduleapi --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: sentinel tests | |
if: true && !contains(github.event.inputs.skiptests, 'sentinel') | |
run: | | |
./runtest-sentinel ${{github.event.inputs.cluster_test_args}} | |
- name: cluster tests | |
if: true && !contains(github.event.inputs.skiptests, 'cluster') | |
run: | | |
./runtest-cluster ${{github.event.inputs.cluster_test_args}} | |
test-macos-latest: | |
runs-on: macos-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'macos') && !(contains(github.event.inputs.skiptests, 'redis') && contains(github.event.inputs.skiptests, 'modules')) | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: make REDIS_CFLAGS='-Werror' | |
- name: test | |
if: true && !contains(github.event.inputs.skiptests, 'redis') | |
run: ./runtest --accurate --verbose --no-latency --dump-logs ${{github.event.inputs.test_args}} | |
- name: module api test | |
if: true && !contains(github.event.inputs.skiptests, 'modules') | |
run: ./runtest-moduleapi --verbose --no-latency --dump-logs ${{github.event.inputs.test_args}} | |
test-macos-latest-sentinel: | |
runs-on: macos-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'macos') && !contains(github.event.inputs.skiptests, 'sentinel') | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: make REDIS_CFLAGS='-Werror' | |
- name: sentinel tests | |
if: true && !contains(github.event.inputs.skiptests, 'sentinel') | |
run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}} | |
test-macos-latest-cluster: | |
runs-on: macos-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'macos') && !contains(github.event.inputs.skiptests, 'cluster') | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: make REDIS_CFLAGS='-Werror' | |
- name: cluster tests | |
if: true && !contains(github.event.inputs.skiptests, 'cluster') | |
run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}} | |
test-freebsd: | |
runs-on: macos-12 | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'freebsd') && !(contains(github.event.inputs.skiptests, 'redis') && contains(github.event.inputs.skiptests, 'modules')) | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: test | |
uses: vmactions/[email protected] | |
with: | |
usesh: true | |
sync: rsync | |
copyback: false | |
prepare: pkg install -y bash gmake lang/tcl86 lang/tclx | |
run: > | |
gmake || exit 1 ; | |
if echo "${{github.event.inputs.skiptests}}" | grep -vq redis ; then ./runtest --verbose --timeout 2400 --no-latency --dump-logs ${{github.event.inputs.test_args}} || exit 1 ; fi ; | |
if echo "${{github.event.inputs.skiptests}}" | grep -vq modules ; then MAKE=gmake ./runtest-moduleapi --verbose --timeout 2400 --no-latency --dump-logs ${{github.event.inputs.test_args}} || exit 1 ; fi ; | |
test-freebsd-sentinel: | |
runs-on: macos-12 | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'freebsd') && !contains(github.event.inputs.skiptests, 'sentinel') | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: test | |
uses: vmactions/[email protected] | |
with: | |
usesh: true | |
sync: rsync | |
copyback: false | |
prepare: pkg install -y bash gmake lang/tcl86 lang/tclx | |
run: > | |
gmake || exit 1 ; | |
if echo "${{github.event.inputs.skiptests}}" | grep -vq sentinel ; then ./runtest-sentinel ${{github.event.inputs.cluster_test_args}} || exit 1 ; fi ; | |
test-freebsd-cluster: | |
runs-on: macos-12 | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'freebsd') && !contains(github.event.inputs.skiptests, 'cluster') | |
timeout-minutes: 14400 | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: test | |
uses: vmactions/[email protected] | |
with: | |
usesh: true | |
sync: rsync | |
copyback: false | |
prepare: pkg install -y bash gmake lang/tcl86 lang/tclx | |
run: > | |
gmake || exit 1 ; | |
if echo "${{github.event.inputs.skiptests}}" | grep -vq cluster ; then ./runtest-cluster ${{github.event.inputs.cluster_test_args}} || exit 1 ; fi ; | |
test-alpine-jemalloc: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'alpine') | |
container: alpine:latest | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: | | |
apk add build-base | |
make REDIS_CFLAGS='-Werror' | |
- name: testprep | |
run: apk add tcl procps tclx | |
- name: test | |
if: true && !contains(github.event.inputs.skiptests, 'redis') | |
run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: module api test | |
if: true && !contains(github.event.inputs.skiptests, 'modules') | |
run: ./runtest-moduleapi --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: sentinel tests | |
if: true && !contains(github.event.inputs.skiptests, 'sentinel') | |
run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}} | |
- name: cluster tests | |
if: true && !contains(github.event.inputs.skiptests, 'cluster') | |
run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}} | |
test-alpine-libc-malloc: | |
runs-on: ubuntu-latest | |
if: | | |
(github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'redis/redis')) && | |
!contains(github.event.inputs.skipjobs, 'alpine') | |
container: alpine:latest | |
steps: | |
- name: prep | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
echo "GITHUB_REPOSITORY=${{github.event.inputs.use_repo}}" >> $GITHUB_ENV | |
echo "GITHUB_HEAD_REF=${{github.event.inputs.use_git_ref}}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ env.GITHUB_REPOSITORY }} | |
ref: ${{ env.GITHUB_HEAD_REF }} | |
- name: make | |
run: | | |
apk add build-base | |
make REDIS_CFLAGS='-Werror' USE_JEMALLOC=no CFLAGS=-DUSE_MALLOC_USABLE_SIZE | |
- name: testprep | |
run: apk add tcl procps tclx | |
- name: test | |
if: true && !contains(github.event.inputs.skiptests, 'redis') | |
run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: module api test | |
if: true && !contains(github.event.inputs.skiptests, 'modules') | |
run: ./runtest-moduleapi --verbose --dump-logs ${{github.event.inputs.test_args}} | |
- name: sentinel tests | |
if: true && !contains(github.event.inputs.skiptests, 'sentinel') | |
run: ./runtest-sentinel ${{github.event.inputs.cluster_test_args}} | |
- name: cluster tests | |
if: true && !contains(github.event.inputs.skiptests, 'cluster') | |
run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}} |