mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-23 00:28:26 -05:00
71d452876e
GETBIT, SETBIT may access wrong address because of wrap. BITCOUNT and BITPOS may return wrapped results. BITFIELD may access the wrong address but also allocate insufficient memory and segfault (see CVE-2021-32761). This commit uses `uint64_t` or `long long` instead of `size_t`. related https://github.com/redis/redis/pull/8096 At 32bit platform: > setbit bit 4294967295 1 (integer) 0 > config set proto-max-bulk-len 536870913 OK > append bit "\xFF" (integer) 536870913 > getbit bit 4294967296 (integer) 0 When the bit index is larger than 4294967295, size_t can't hold bit index. In the past, `proto-max-bulk-len` is limit to 536870912, so there is no problem. After this commit, bit position is stored in `uint64_t` or `long long`. So when `proto-max-bulk-len > 536870912`, 32bit platforms can still be correct. For 64bit platform, this problem still exists. The major reason is bit pos 8 times of byte pos. When proto-max-bulk-len is very larger, bit pos may overflow. But at 64bit platform, we don't have so long string. So this bug may never happen. Additionally this commit add a test cost `512MB` memory which is tag as `large-memory`. Make freebsd ci and valgrind ci ignore this test.
493 lines
21 KiB
YAML
493 lines
21 KiB
YAML
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,tls,freebsd,macos,alpine,32bit'
|
|
skiptests:
|
|
description: 'tests to skip (delete the ones you wanna keep, do not leave empty)'
|
|
default: 'redis,modules,sentinel,cluster'
|
|
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.repository == 'redis/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
|
|
echo "skipping: ${{github.event.inputs.skipjobs}} and ${{github.event.inputs.skiptests}}"
|
|
- uses: actions/checkout@v2
|
|
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 ${{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
|
|
run: ./src/redis-server test all
|
|
|
|
test-ubuntu-libc-malloc:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'redis/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@v2
|
|
with:
|
|
repository: ${{ env.GITHUB_REPOSITORY }}
|
|
ref: ${{ env.GITHUB_HEAD_REF }}
|
|
- name: make
|
|
run: make MALLOC=libc
|
|
- 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 ${{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.repository == 'redis/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@v2
|
|
with:
|
|
repository: ${{ env.GITHUB_REPOSITORY }}
|
|
ref: ${{ env.GITHUB_HEAD_REF }}
|
|
- name: make
|
|
run: make MALLOC=libc CFLAGS=-DNO_MALLOC_USABLE_SIZE
|
|
- 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 ${{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.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@v2
|
|
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 ${{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
|
|
run: ./src/redis-server test all
|
|
|
|
test-ubuntu-tls:
|
|
runs-on: ubuntu-latest
|
|
if: 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@v2
|
|
with:
|
|
repository: ${{ env.GITHUB_REPOSITORY }}
|
|
ref: ${{ env.GITHUB_HEAD_REF }}
|
|
- name: make
|
|
run: |
|
|
make BUILD_TLS=yes
|
|
- 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 --tls --dump-logs ${{github.event.inputs.test_args}}
|
|
./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 --tls ${{github.event.inputs.test_args}}
|
|
./runtest-moduleapi --verbose ${{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}}
|
|
./runtest-sentinel ${{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}}
|
|
./runtest-cluster ${{github.event.inputs.cluster_test_args}}
|
|
|
|
test-ubuntu-io-threads:
|
|
runs-on: ubuntu-latest
|
|
if: 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@v2
|
|
with:
|
|
repository: ${{ env.GITHUB_REPOSITORY }}
|
|
ref: ${{ env.GITHUB_HEAD_REF }}
|
|
- name: make
|
|
run: |
|
|
make
|
|
- 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:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'redis/redis' && !contains(github.event.inputs.skipjobs, 'valgrind')
|
|
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@v2
|
|
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 --verbose --clients 1 --tags -large-memory --dump-logs ${{github.event.inputs.test_args}}
|
|
- name: module api test
|
|
if: true && !contains(github.event.inputs.skiptests, 'modules')
|
|
run: ./runtest-moduleapi --valgrind --no-latency --verbose --clients 1 ${{github.event.inputs.test_args}}
|
|
- 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' && !contains(github.event.inputs.skipjobs, 'valgrind')
|
|
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@v2
|
|
with:
|
|
repository: ${{ env.GITHUB_REPOSITORY }}
|
|
ref: ${{ env.GITHUB_HEAD_REF }}
|
|
- name: make
|
|
run: make valgrind CFLAGS="-DNO_MALLOC_USABLE_SIZE"
|
|
- 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 --verbose --clients 1 --tags -large-memory --dump-logs ${{github.event.inputs.test_args}}
|
|
- name: module api test
|
|
if: true && !contains(github.event.inputs.skiptests, 'modules')
|
|
run: ./runtest-moduleapi --valgrind --no-latency --verbose --clients 1 ${{github.event.inputs.test_args}}
|
|
|
|
test-centos7-jemalloc:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'redis/redis'
|
|
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@v2
|
|
with:
|
|
repository: ${{ env.GITHUB_REPOSITORY }}
|
|
ref: ${{ env.GITHUB_HEAD_REF }}
|
|
- name: make
|
|
run: |
|
|
yum -y install gcc make
|
|
make
|
|
- 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 ${{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.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@v2
|
|
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"
|
|
- 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 --tls --dump-logs ${{github.event.inputs.test_args}}
|
|
./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 --tls ${{github.event.inputs.test_args}}
|
|
./runtest-moduleapi --verbose ${{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}}
|
|
./runtest-sentinel ${{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}}
|
|
./runtest-cluster ${{github.event.inputs.cluster_test_args}}
|
|
|
|
test-macos-latest:
|
|
runs-on: macos-latest
|
|
if: github.repository == 'redis/redis' && !contains(github.event.inputs.skipjobs, 'macos')
|
|
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@v2
|
|
with:
|
|
repository: ${{ env.GITHUB_REPOSITORY }}
|
|
ref: ${{ env.GITHUB_HEAD_REF }}
|
|
- name: make
|
|
run: make
|
|
- 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 ${{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-freebsd:
|
|
runs-on: macos-latest
|
|
if: github.repository == 'redis/redis' && !contains(github.event.inputs.skipjobs, 'freebsd')
|
|
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@v2
|
|
with:
|
|
repository: ${{ env.GITHUB_REPOSITORY }}
|
|
ref: ${{ env.GITHUB_HEAD_REF }}
|
|
- name: test
|
|
uses: vmactions/freebsd-vm@v0.1.4
|
|
with:
|
|
usesh: true
|
|
sync: rsync
|
|
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 --accurate --verbose --no-latency --tags -large-memory --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 ${{github.event.inputs.test_args}} || exit 1 ; fi ;
|
|
if echo "${{github.event.inputs.skiptests}}" | grep -vq sentinel ; then ./runtest-sentinel ${{github.event.inputs.cluster_test_args}} || exit 1 ; fi ;
|
|
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.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@v2
|
|
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 ${{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.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@v2
|
|
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 ${{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}}
|