Skip to content

Workflow file for this run

# name: Daily
# on:
# 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,specific,fortify,reply-schema'
# skiptests:
# description: 'tests to skip (delete the ones you wanna keep, do not leave empty)'
# default: 'valkey,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: 'valkey-io/valkey'
# 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 == 'valkey-io/valkey')) &&
# !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 "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: make SERVER_CFLAGS='-Werror -DSERVER_TEST'
# - name: testprep
# run: sudo apt-get install tcl8.6 tclx
# - name: test
# if: true && !contains(github.event.inputs.skiptests, 'valkey')
# run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
# - name: module api test
# if: true && !contains(github.event.inputs.skiptests, 'modules')
# run: CFLAGS='-Werror' ./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/valkey-server test all --accurate
# test-ubuntu-jemalloc-fortify:
# runs-on: ubuntu-latest
# if: |
# (github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'valkey-io/valkey')) &&
# !contains(github.event.inputs.skipjobs, 'fortify')
# container: ubuntu:lunar
# 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 "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: |
# apt-get update && apt-get install -y make gcc-13
# update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100
# make CC=gcc SERVER_CFLAGS='-Werror -DSERVER_TEST -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3'
# - name: testprep
# run: apt-get install -y tcl8.6 tclx procps
# - name: test
# if: true && !contains(github.event.inputs.skiptests, 'valkey')
# run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
# - name: module api test
# if: true && !contains(github.event.inputs.skiptests, 'modules')
# run: CFLAGS='-Werror' ./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/valkey-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 == 'valkey-io/valkey')) &&
# !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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: make MALLOC=libc SERVER_CFLAGS='-Werror'
# - name: testprep
# run: sudo apt-get install tcl8.6 tclx
# - name: test
# if: true && !contains(github.event.inputs.skiptests, 'valkey')
# run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
# - name: module api test
# if: true && !contains(github.event.inputs.skiptests, 'modules')
# run: CFLAGS='-Werror' ./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 == 'valkey-io/valkey')) &&
# !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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - 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 SERVER_CFLAGS='-Werror'
# - name: testprep
# run: sudo apt-get install tcl8.6 tclx
# - name: test
# if: true && !contains(github.event.inputs.skiptests, 'valkey')
# run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
# - name: module api test
# if: true && !contains(github.event.inputs.skiptests, 'modules')
# run: CFLAGS='-Werror' ./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 == 'valkey-io/valkey')) &&
# !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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - 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 SERVER_CFLAGS='-Werror -DSERVER_TEST'
# - name: testprep
# run: sudo apt-get install tcl8.6 tclx
# - name: test
# if: true && !contains(github.event.inputs.skiptests, 'valkey')
# 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
# CFLAGS='-Werror' ./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/valkey-server test all --accurate
# test-ubuntu-tls:
# runs-on: ubuntu-latest
# if: |
# (github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'valkey-io/valkey')) &&
# !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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: |
# make BUILD_TLS=yes SERVER_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, 'valkey')
# 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: |
# CFLAGS='-Werror' ./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 == 'valkey-io/valkey')) &&
# !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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: |
# make BUILD_TLS=yes SERVER_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, 'valkey')
# run: |
# ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
# - name: module api test
# if: true && !contains(github.event.inputs.skiptests, 'modules')
# run: |
# CFLAGS='-Werror' ./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 == 'valkey-io/valkey')) &&
# !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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: |
# make SERVER_CFLAGS='-Werror'
# - name: testprep
# run: sudo apt-get install tcl8.6 tclx
# - name: test
# if: true && !contains(github.event.inputs.skiptests, 'valkey')
# 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-ubuntu-reclaim-cache:
# runs-on: ubuntu-latest
# if: |
# (github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'valkey-io/valkey')) &&
# !contains(github.event.inputs.skipjobs, 'specific')
# 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 "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: |
# make SERVER_CFLAGS='-Werror'
# - name: testprep
# run: |
# sudo apt-get install vmtouch
# mkdir /tmp/master
# mkdir /tmp/slave
# - name: warm up
# run: |
# ./src/valkey-server --daemonize yes --logfile /dev/null
# ./src/valkey-benchmark -n 1 > /dev/null
# ./src/valkey-cli save | grep OK > /dev/null
# vmtouch -v ./dump.rdb > /dev/null
# - name: test
# run: |
# echo "test SAVE doesn't increase cache"
# CACHE0=$(grep -w file /sys/fs/cgroup/memory.stat | awk '{print $2}')
# echo "$CACHE0"
# ./src/valkey-server --daemonize yes --logfile /dev/null --dir /tmp/master --port 8080 --repl-diskless-sync no --pidfile /tmp/master/valkey.pid --rdbcompression no --enable-debug-command yes
# ./src/valkey-cli -p 8080 debug populate 10000 k 102400
# ./src/valkey-server --daemonize yes --logfile /dev/null --dir /tmp/slave --port 8081 --repl-diskless-load disabled --rdbcompression no
# ./src/valkey-cli -p 8080 save > /dev/null
# VMOUT=$(vmtouch -v /tmp/master/dump.rdb)
# echo $VMOUT
# grep -q " 0%" <<< $VMOUT
# CACHE=$(grep -w file /sys/fs/cgroup/memory.stat | awk '{print $2}')
# echo "$CACHE"
# if [ "$(( $CACHE-$CACHE0 ))" -gt "8000000" ]; then exit 1; fi
# echo "test replication doesn't increase cache"
# ./src/valkey-cli -p 8081 REPLICAOF 127.0.0.1 8080 > /dev/null
# while [ $(./src/valkey-cli -p 8081 info replication | grep "master_link_status:down") ]; do sleep 1; done;
# sleep 1 # wait for the completion of cache reclaim bio
# VMOUT=$(vmtouch -v /tmp/master/dump.rdb)
# echo $VMOUT
# grep -q " 0%" <<< $VMOUT
# VMOUT=$(vmtouch -v /tmp/slave/dump.rdb)
# echo $VMOUT
# grep -q " 0%" <<< $VMOUT
# CACHE=$(grep -w file /sys/fs/cgroup/memory.stat | awk '{print $2}')
# echo "$CACHE"
# if [ "$(( $CACHE-$CACHE0 ))" -gt "8000000" ]; then exit 1; fi
# echo "test reboot doesn't increase cache"
# PID=$(cat /tmp/master/valkey.pid)
# kill -15 $PID
# while [ -x /proc/${PID} ]; do sleep 1; done
# ./src/valkey-server --daemonize yes --logfile /dev/null --dir /tmp/master --port 8080
# while [ $(./src/valkey-cli -p 8080 info persistence | grep "loading:1") ]; do sleep 1; done;
# sleep 1 # wait for the completion of cache reclaim bio
# VMOUT=$(vmtouch -v /tmp/master/dump.rdb)
# echo $VMOUT
# grep -q " 0%" <<< $VMOUT
# CACHE=$(grep -w file /sys/fs/cgroup/memory.stat | awk '{print $2}')
# echo "$CACHE"
# if [ "$(( $CACHE-$CACHE0 ))" -gt "8000000" ]; then exit 1; fi
# test-valgrind-test:
# runs-on: ubuntu-latest
# if: |
# (github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'valkey-io/valkey')) &&
# !contains(github.event.inputs.skipjobs, 'valgrind') && !contains(github.event.inputs.skiptests, 'valkey')
# 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 "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: make valgrind SERVER_CFLAGS='-Werror -DSERVER_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, 'valkey')
# 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 == 'valkey-io/valkey')) &&
# !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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: make valgrind SERVER_CFLAGS='-Werror -DSERVER_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: CFLAGS='-Werror' ./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/valkey-server test all --valgrind
# 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 == 'valkey-io/valkey')) &&
# !contains(github.event.inputs.skipjobs, 'valgrind') && !contains(github.event.inputs.skiptests, 'valkey')
# 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 "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: make valgrind CFLAGS="-DNO_MALLOC_USABLE_SIZE -DSERVER_TEST" SERVER_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, 'valkey')
# 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 == 'valkey-io/valkey')) &&
# !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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: make valgrind CFLAGS="-DNO_MALLOC_USABLE_SIZE -DSERVER_TEST" SERVER_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: CFLAGS='-Werror' ./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/valkey-server test all --valgrind
# 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 == 'valkey-io/valkey')) &&
# !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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: make SANITIZER=address SERVER_CFLAGS='-DSERVER_TEST -Werror -DDEBUG_ASSERTIONS'
# - name: testprep
# # Work around ASAN issue, see https://github.com/google/sanitizers/issues/1716
# run: |
# sudo apt-get update
# sudo apt-get install tcl8.6 tclx -y
# sudo sysctl vm.mmap_rnd_bits=28
# - name: test
# if: true && !contains(github.event.inputs.skiptests, 'valkey')
# run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
# - name: module api test
# if: true && !contains(github.event.inputs.skiptests, 'modules')
# run: CFLAGS='-Werror' ./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/valkey-server test all
# test-sanitizer-undefined:
# runs-on: ubuntu-latest
# if: |
# (github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'valkey-io/valkey')) &&
# !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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: make SANITIZER=undefined SERVER_CFLAGS='-DSERVER_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, 'valkey')
# run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
# - name: module api test
# if: true && !contains(github.event.inputs.skiptests, 'modules')
# run: CFLAGS='-Werror' ./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/valkey-server test all --accurate
# test-centos7-jemalloc:
# runs-on: ubuntu-latest
# if: |
# (github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'valkey-io/valkey')) &&
# !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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: |
# yum -y install gcc make
# make SERVER_CFLAGS='-Werror'
# - name: testprep
# run: yum -y install which tcl tclx
# - name: test
# if: true && !contains(github.event.inputs.skiptests, 'valkey')
# run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
# - name: module api test
# if: true && !contains(github.event.inputs.skiptests, 'modules')
# run: CFLAGS='-Werror' ./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-module:
# runs-on: ubuntu-latest
# if: |
# (github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'valkey-io/valkey')) &&
# !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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - 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=module SERVER_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, 'valkey')
# run: |
# ./runtest --accurate --verbose --dump-logs --tls-module --dump-logs ${{github.event.inputs.test_args}}
# - name: module api test
# if: true && !contains(github.event.inputs.skiptests, 'modules')
# run: |
# CFLAGS='-Werror' ./runtest-moduleapi --verbose --dump-logs --tls-module --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 --tls-module ${{github.event.inputs.cluster_test_args}}
# test-centos7-tls-module-no-tls:
# runs-on: ubuntu-latest
# if: |
# (github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'valkey-io/valkey')) &&
# !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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - 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=module SERVER_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, 'valkey')
# run: |
# ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
# - name: module api test
# if: true && !contains(github.event.inputs.skiptests, 'modules')
# run: |
# CFLAGS='-Werror' ./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 == 'valkey-io/valkey')) &&
# !contains(github.event.inputs.skipjobs, 'macos') && !(contains(github.event.inputs.skiptests, 'valkey') && 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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: make SERVER_CFLAGS='-Werror'
# - name: test
# if: true && !contains(github.event.inputs.skiptests, 'valkey')
# run: ./runtest --accurate --verbose --clients 1 --no-latency --dump-logs ${{github.event.inputs.test_args}}
# - name: module api test
# if: true && !contains(github.event.inputs.skiptests, 'modules')
# run: CFLAGS='-Werror' ./runtest-moduleapi --verbose --clients 1 --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 == 'valkey-io/valkey')) &&
# !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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: make SERVER_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 == 'valkey-io/valkey')) &&
# !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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: make SERVER_CFLAGS='-Werror'
# - name: cluster tests
# if: true && !contains(github.event.inputs.skiptests, 'cluster')
# run: ./runtest-cluster ${{github.event.inputs.cluster_test_args}}
# build-macos:
# strategy:
# matrix:
# os: [macos-11, macos-13]
# runs-on: ${{ matrix.os }}
# if: |
# (github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'valkey-io/valkey')) &&
# !contains(github.event.inputs.skipjobs, 'macos')
# timeout-minutes: 14400
# steps:
# - uses: maxim-lobanov/setup-xcode@v1
# with:
# xcode-version: latest
# - 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 "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: make SERVER_CFLAGS='-Werror -DSERVER_TEST'
# test-freebsd:
# runs-on: macos-12
# if: |
# (github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'valkey-io/valkey')) &&
# !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@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: test
# uses: cross-platform-actions/[email protected]
# with:
# operating_system: freebsd
# environment_variables: MAKE
# version: 13.2
# shell: bash
# run: |
# sudo pkg install -y bash gmake lang/tcl86 lang/tclx
# gmake
# ./runtest --single unit/keyspace --single unit/auth --single unit/networking --single unit/protocol
# test-alpine-jemalloc:
# runs-on: ubuntu-latest
# if: |
# (github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'valkey-io/valkey')) &&
# !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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: |
# apk add build-base
# make SERVER_CFLAGS='-Werror'
# - name: testprep
# run: apk add tcl procps tclx
# - name: test
# if: true && !contains(github.event.inputs.skiptests, 'valkey')
# run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
# - name: module api test
# if: true && !contains(github.event.inputs.skiptests, 'modules')
# run: CFLAGS='-Werror' ./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 == 'valkey-io/valkey')) &&
# !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
# echo "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: |
# apk add build-base
# make SERVER_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, 'valkey')
# run: ./runtest --accurate --verbose --dump-logs ${{github.event.inputs.test_args}}
# - name: module api test
# if: true && !contains(github.event.inputs.skiptests, 'modules')
# run: CFLAGS='-Werror' ./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}}
# reply-schemas-validator:
# runs-on: ubuntu-latest
# timeout-minutes: 14400
# if: |
# (github.event_name == 'workflow_dispatch' || (github.event_name != 'workflow_dispatch' && github.repository == 'valkey-io/valkey')) &&
# !contains(github.event.inputs.skipjobs, 'reply-schema')
# 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 "skipjobs: ${{github.event.inputs.skipjobs}}"
# echo "skiptests: ${{github.event.inputs.skiptests}}"
# echo "test_args: ${{github.event.inputs.test_args}}"
# echo "cluster_test_args: ${{github.event.inputs.cluster_test_args}}"
# - uses: actions/checkout@v3
# with:
# repository: ${{ env.GITHUB_REPOSITORY }}
# ref: ${{ env.GITHUB_HEAD_REF }}
# - name: make
# run: make SERVER_CFLAGS='-Werror -DLOG_REQ_RES'
# - name: testprep
# run: sudo apt-get install tcl8.6 tclx
# - name: test
# if: true && !contains(github.event.inputs.skiptests, 'valkey')
# run: ./runtest --log-req-res --no-latency --dont-clean --force-resp3 --tags -slow --verbose --dump-logs ${{github.event.inputs.test_args}}
# - name: module api test
# if: true && !contains(github.event.inputs.skiptests, 'modules')
# run: CFLAGS='-Werror' ./runtest-moduleapi --log-req-res --no-latency --dont-clean --force-resp3 --dont-pre-clean --verbose --dump-logs ${{github.event.inputs.test_args}}
# - name: sentinel tests
# if: true && !contains(github.event.inputs.skiptests, 'sentinel')
# run: ./runtest-sentinel --log-req-res --dont-clean --force-resp3 ${{github.event.inputs.cluster_test_args}}
# - name: cluster tests
# if: true && !contains(github.event.inputs.skiptests, 'cluster')
# run: ./runtest-cluster --log-req-res --dont-clean --force-resp3 ${{github.event.inputs.cluster_test_args}}
# - name: Install Python dependencies
# uses: py-actions/py-dependency-install@v4
# with:
# path: "./utils/req-res-validator/requirements.txt"
# - name: validator
# run: ./utils/req-res-log-validator.py --verbose --fail-missing-reply-schemas ${{ (!contains(github.event.inputs.skiptests, 'valkey') && !contains(github.event.inputs.skiptests, 'module') && !contains(github.event.inputs.sentinel, 'valkey') && !contains(github.event.inputs.skiptests, 'cluster')) && github.event.inputs.test_args == '' && github.event.inputs.cluster_test_args == '' && '--fail-commands-not-all-hit' || '' }}