Skip to content

[pull] develop from phpredis:develop #8

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 158 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
158 commits
Select commit Hold shift + click to select a range
6dc0a0b
Fix segfault when passing just false to auth.
michael-grunder Jan 8, 2024
3fdd52b
Fix the time unit of retry_interval
woodongwong Jan 16, 2024
14f9333
fix: RedisCluster::publish returns a cluster_long_resp
PROFeNoM Jan 16, 2024
a4a283a
Change exec return method type hint
michael-grunder Oct 30, 2023
5d29324
Fix Redis::mget signature
yatsukhnenko Nov 23, 2023
8f8ff72
Update zCount argument type in redis.stub.php (#2439)
taka-oyama Jan 24, 2024
142c1f4
Fix retry_internal documentation
SplotyCode Feb 13, 2024
ed7c9f6
Implement WAITAOF command.
michael-grunder Feb 13, 2024
9b90c03
Update WAITAOF test to use different assertion + add debug info
michael-grunder Feb 20, 2024
37c5f8d
Fix typos
szepeviktor Feb 17, 2024
732e466
Improve warning when we encounter an invalid EXPIRY in SET
michael-grunder Feb 21, 2024
77ab62b
Tighter return types for Redis::(keys|hKeys|hVals|hGetAll)()
BenMorel Feb 17, 2024
ece3f7b
Fix config.m4 when using custom dep paths (#2453)
michael-grunder Mar 5, 2024
4d23397
Update stubs
michael-grunder Mar 13, 2024
fa1a283
Fix some typos
michael-grunder Mar 13, 2024
e52f0af
Update SCAN to handle very large cursor values.
michael-grunder Mar 15, 2024
2612d44
Update RedisCluster scan logic for large SCAN cursors.
michael-grunder Mar 18, 2024
a51215c
Update random includes.
michael-grunder Mar 18, 2024
3dbc2bd
Don't use deprecated string interpolation syntax.
michael-grunder Mar 17, 2024
8a39cae
add: session.save_path examples
tuxmartin Mar 30, 2023
a9e53fd
Fix segfault and remove redundant macros
yatsukhnenko Mar 21, 2024
f358687
Merge pull request #2467 from phpredis/multi-exec-segfault
yatsukhnenko Mar 21, 2024
c7a73ab
Remove mention of pickle
acorncom Mar 21, 2024
d9c48b7
KeyDB: Get our tests passing against KeyDB.
michael-grunder Mar 21, 2024
54d62c7
Add KeyDB to CI
michael-grunder Mar 22, 2024
37fa359
Mention KeyDB support in README.md
tstarling Mar 24, 2024
50e5405
Fix Arginfo / zpp mismatch for DUMP command
yatsukhnenko Mar 25, 2024
8323ddf
Merge pull request #2471 from phpredis/dump-arginfo-zpp-mismatch
yatsukhnenko Mar 25, 2024
eb7f31e
Fix random connection timeouts with Redis Cluster
kjoe Mar 17, 2024
b698901
Support for early_refresh in Redis sessions to match cluster behavior
bitactive Mar 28, 2024
a819a44
Test against valkey
michael-grunder Apr 6, 2024
5996597
Add a CI step that waits for server instances before running tests
michael-grunder Apr 7, 2024
5f1eecf
Mention Valkey support
PlavorSeol Apr 8, 2024
da4ab0a
Add compression support for PHP Sessions (#2473)
bitactive Apr 8, 2024
dc39bd5
Remove 7.2 and 7.3 from CI. (#2478)
michael-grunder Apr 8, 2024
2b555c8
Minor session compression cleanup.
michael-grunder Apr 8, 2024
9f3ca98
Add a test for session compression.
michael-grunder Apr 9, 2024
0e92616
Fix memory leak if we fail in ps_open_redis.
michael-grunder Apr 6, 2024
3d7be35
Consolidate failure path
michael-grunder Apr 7, 2024
f350dc3
Test aginst the first stable version of valkey.
michael-grunder Apr 16, 2024
c0d6f04
Minor improvements to some session tests.
michael-grunder May 9, 2024
0f94d9c
Relax timing test slightly
michael-grunder May 10, 2024
f865d5b
fix missing <code> tags
divinity76 May 8, 2024
34b5bd8
Rework how we declare ZSTD min/max constants.
michael-grunder May 14, 2024
d68c30f
Remove Windows PHP 7.x jobs
michael-grunder May 16, 2024
b88e72b
Refactor session tests (#2492)
michael-grunder May 23, 2024
18b0da7
Update unit test assertions.
michael-grunder May 24, 2024
3c125b0
More unit test cleanup.
michael-grunder May 28, 2024
e18f6c6
Minor refactor
michael-grunder May 29, 2024
0d89e92
Spelling fixes
michael-grunder May 29, 2024
78b70ca
More test refactoring.
michael-grunder May 30, 2024
c6cd665
Code formatting
michael-grunder May 30, 2024
dab6a62
Code formatting
michael-grunder May 30, 2024
c139de3
We don't need to use a ranom value for our ECHO liveness challenge.
michael-grunder Jun 1, 2024
f8c762e
Use ZEND_STRL where appropriate.
michael-grunder Jun 1, 2024
d3b2d87
Don't use `$k1` as a variable name.
michael-grunder Jun 2, 2024
7050c98
Play around with more ZEND_STRL usage (#2505)
michael-grunder Jun 15, 2024
b808cc6
Update tests so they can run in php-cgi.
michael-grunder Jun 17, 2024
b1771de
More unit test utility functions/usage. (#2509)
michael-grunder Jun 18, 2024
5730497
PHP might throw a fatal error if we send no args to exists (#2510)
michael-grunder Jun 18, 2024
7c55142
Refactor redis_script_cmd
yatsukhnenko Jun 20, 2024
74f9e80
Merge pull request #2513 from phpredis/script-command
yatsukhnenko Jun 20, 2024
981c693
Add `GETEX` to README docs + minor change to command.
michael-grunder Jun 20, 2024
7de29d5
Fix a macOS (M1) compiler warning.
michael-grunder Jul 8, 2024
50529f5
Context array should be nullable
michael-grunder Jul 10, 2024
eeb5109
Update documentation (#2523)
kalifg Jul 12, 2024
99f9fd8
Fix HRANDFIELD command when WITHVALUES is used. (#2524)
michael-grunder Jul 14, 2024
6673b5b
SRANDMEMBER can return any type because of serialization.
michael-grunder Jul 14, 2024
6ea5b3e
Fix argument count issue in HSET with associative array, update metho…
crocodele Jul 17, 2024
ff3d5e3
Prepare to tag 6.1.0RC1
michael-grunder Jul 30, 2024
e9474b8
add missing SessionHelpers.php in pecl package
remicollet Aug 5, 2024
8b51942
Raise minimum supported PHP version to 7.4
michael-grunder Aug 5, 2024
37cebdd
cleanup code for unsupported versions
remicollet Aug 5, 2024
40c8973
Remove erroneously duplicated changelog entries.
michael-grunder Aug 5, 2024
9d38050
Upload artifact v2 is deprecated
michael-grunder Sep 19, 2024
a75a7e5
Fix SIGABRT in PHP 8.4
michael-grunder Sep 19, 2024
b59e35a
Added a composer.json to enable support for PIE
asgrim Sep 18, 2024
9bd2aaa
Prepare for 6.1.0RC2
michael-grunder Sep 23, 2024
30c8f90
bump version
remicollet Sep 23, 2024
bff3a22
fix implicit nullable (8.4)
remicollet Sep 23, 2024
909c5cc
Finalize 6.1.0RC2 changelog for completeness. (#2554)
michael-grunder Sep 23, 2024
0bae4bb
Fix urls
VincentLanglet Sep 23, 2024
cc1be32
fix 2 tests with redis 6.2
remicollet Sep 24, 2024
5f241d8
Merge pull request #2555 from phpredis/issue-redis62
remicollet Sep 24, 2024
f89d4d8
Windows CI: update setup-php-sdk to v0.10 and enable caching
cmb69 Sep 30, 2024
52e69ed
improve package summary and description (#2558)
remicollet Oct 3, 2024
5419cc9
Prepare for 6.1.0 GA
michael-grunder Oct 3, 2024
a53bf38
Merge pull request #2557 from cmb69/cmb/win-ci
yatsukhnenko Oct 8, 2024
985b031
KeyDB doesn't have a noble release yet.
michael-grunder Oct 14, 2024
eb66fc9
Pin ubuntu version for KeyDB
michael-grunder Oct 14, 2024
085d61e
Create a strncmp wrapper
michael-grunder Oct 14, 2024
0fe45d2
Fix XAUTOCLAIM argc when sending COUNT
michael-grunder Oct 16, 2024
8144db3
better documentation for the $tlsOptions parameter of RedisCluster
JacobBrownAustin Nov 4, 2024
4cd3f59
Implement KeyDB's EXPIREMEMBER[AT] commands
michael-grunder Nov 15, 2024
6097e7b
Add PHP 8.4 to CI
yatsukhnenko Nov 25, 2024
b665925
Use smart str for constructing pipeline cmd
JakubOnderka Nov 23, 2024
99beb92
Initialize arrays with known size
JakubOnderka Nov 21, 2024
64da891
Do not allocate empty string or string with one character
JakubOnderka Nov 21, 2024
60b5a88
Use immutable empty array in Redis::exec
JakubOnderka Nov 22, 2024
3a2f3f4
Use immutable empty array in Redis::hKeys
JakubOnderka Nov 22, 2024
83a1965
Faster parameter parsing in redis_key_cmd and redis_key_long_val_cmd
JakubOnderka Nov 22, 2024
400503b
Optimise method array_zip_values_and_scores
JakubOnderka Nov 22, 2024
426de2b
Test for empty pipeline and multi
JakubOnderka Nov 24, 2024
5156e03
If no command is issued in multi mode, return immutable empty array
JakubOnderka Nov 24, 2024
2a2f908
Optimise constructing Redis command string
JakubOnderka Nov 25, 2024
f690647
Use zval_get_tmp_string method that is faster when provided zval is s…
JakubOnderka Nov 23, 2024
99650e1
Avoid unnecessary allocation in redis_key_varval_cmd
JakubOnderka Nov 24, 2024
4082dd0
Avoid unnecessary allocation in redis_hdel_cmd
JakubOnderka Nov 24, 2024
aba0993
Avoid unnecessary allocation in redis_hset_cmd
JakubOnderka Nov 24, 2024
2434ba2
Optimise HMGET method
JakubOnderka Nov 24, 2024
7895636
Remove unused redis_debug_response method from library.c
JakubOnderka Nov 27, 2024
571ffbc
Switch pipeline_cmd from smart_str to smart_string
JakubOnderka Dec 1, 2024
be38856
Reuse redis_sock_append_auth method
JakubOnderka Dec 1, 2024
a551fdc
Switch from linked list to growing array for reply callbacks
JakubOnderka Dec 5, 2024
42a4276
Use defines for callback growth + sanity check
michael-grunder Dec 9, 2024
f68544f
Refactor and avoid allocation in rawcommand method
JakubOnderka Dec 9, 2024
138d07b
Print cursor as unsigned 64 bit integer
bentleyo Dec 16, 2024
35c5988
Formatting improvements
bentleyo Dec 17, 2024
044b303
Reduce buffer size for signed integer, strlen(-9223372036854775808) =…
bentleyo Dec 17, 2024
43e6cab
Fix potential NULL dereference
peter15914 Jan 1, 2025
5cad207
Fix phpdoc type of '$pattern'
zeek0x Dec 23, 2024
9e504ed
Set priority to 60
yatsukhnenko Jan 2, 2025
3f8dba6
Regnerate stub hash
michael-grunder Jan 13, 2025
faa4bc2
Don't cast a uint64_t to a long.
michael-grunder Jan 13, 2025
a2eef77
Implement Valkey >= 8.1 IFEQ set option
michael-grunder Jan 19, 2025
c7b8784
Invalidate slot cache on failed cluster connections
jkenn99 Dec 19, 2024
a10bca3
Update codeql to v3
yatsukhnenko Jan 31, 2025
41e1141
Merge pull request #2618 from phpredis/codeql-v3
yatsukhnenko Feb 1, 2025
f9ce942
Introduce `Redis::OPT_PACK_IGNORE_NUMBERS` option.
michael-grunder Jan 26, 2025
29e5cf0
Minor refactor of ignroe numbers option
michael-grunder Jan 28, 2025
abb0f6c
Add details to the option doc block
michael-grunder Feb 5, 2025
9036ffc
Add getWithMeta method
yatsukhnenko Jan 30, 2025
1b72964
Update CHANGELOG.md
yatsukhnenko Feb 19, 2025
807f806
Reorganize tests
yatsukhnenko Feb 25, 2025
36ab585
Merge pull request #2627 from phpredis/feature/with-meta
yatsukhnenko Feb 26, 2025
d342e4a
Implement `GETDEL` for `RedisCluster`
michael-grunder Mar 6, 2025
e73130f
Fix error length calculation + UB sanity check.
michael-grunder Mar 10, 2025
f73f5fc
Fix arguments order for `SET` command
yatsukhnenko Mar 16, 2025
056c2db
Introduce `Redis::serverName` and `Redis::serverVersion` methods
yatsukhnenko Mar 16, 2025
cbaf095
Allow calling methods only in atomic mode
yatsukhnenko Mar 17, 2025
fa3eb00
Add tests for `serverName()` and `serverVersion()`
michael-grunder Mar 20, 2025
300c5fb
Make execHello protected
michael-grunder Mar 21, 2025
52e2b8a
Prepare for 6.2.0 release
michael-grunder Mar 17, 2025
3828c92
cleanup session temp file (#2641)
remicollet Mar 26, 2025
4f6a3ed
New option 'database' for Redis class constructor (#2597)
JakubOnderka Mar 27, 2025
0445e68
Refactor `getWithMeta` logic (#2643)
michael-grunder Mar 31, 2025
60ca48f
Redis Cluster does not have `SELECT`. (#2644)
michael-grunder Apr 1, 2025
0a85bd8
Simplify redis_unpack method calling
JakubOnderka Dec 4, 2024
5208818
We can use `zval_get_tmp_string` here
michael-grunder Apr 2, 2025
614b86e
New macros REDIS_RESPONSE_ERROR and REDIS_RETURN_ZVAL
JakubOnderka Nov 26, 2024
3c64b33
Fix SIGABRT in PHP 8.4 with RedisArray
Novynn Apr 8, 2025
bfbab89
Broaden return type for Redis::hGetAll
mgiuffrida Apr 20, 2025
b7a97e5
Update README.md
AkameOuO Apr 18, 2025
b48aa0d
Fix an unused variable warning
michael-grunder Apr 20, 2025
593ba01
Check for `dragonfly_version` in `HELLO` response
michael-grunder May 4, 2025
7350768
Implement several hash expiration commands
michael-grunder May 6, 2025
8014000
Attempt to fix flaky GitHub CI tests.
michael-grunder May 7, 2025
152fdda
Fix double -> int truncation warning
michael-grunder May 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
207 changes: 179 additions & 28 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,81 @@
on: [push, pull_request]

jobs:
ubuntu:
configured-deps:
runs-on: ubuntu-latest
continue-on-error: false
strategy:
fail-fast: true
matrix:
php: ['8.3']
steps:
- name: Checkout PhpRedis
uses: actions/checkout@v4

- name: Install liblzf
run: |
git clone --depth=1 https://github.com/nemequ/liblzf.git
cd liblzf
autoreconf -vi
CFLAGS=-fPIC ./configure --prefix="$GITHUB_WORKSPACE/liblzf"
make install

- name: Install liblz4
run: |
git clone -b v1.9.4 --depth=1 https://github.com/lz4/lz4
cd lz4/lib
PREFIX="$GITHUB_WORKSPACE/liblz4" make install

- name: Install libzstd
run: |
git clone -b v1.5.5 --depth=1 https://github.com/facebook/zstd
cd zstd
PREFIX="$GITHUB_WORKSPACE/libzstd" make install

- name: Install PHP ${{ matrix.php }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: json, igbinary, msgpack, :redis
coverage: none
tools: none

- name: Configure and build PhpRedis with distinct dep paths
run: |
phpize
./configure \
--enable-redis-lz4 \
--with-liblz4="$GITHUB_WORKSPACE/liblz4" \
--enable-redis-lzf \
--with-liblzf="$GITHUB_WORKSPACE/liblzf" \
--enable-redis-zstd \
--with-libzstd="$GITHUB_WORKSPACE/libzstd"
sudo make -j"$(nproc)"

- name: Make sure we're linking against specific liblz4
run: |
grep "INCLUDES.*$GITHUB_WORKSPACE/liblz4" Makefile
grep "REDIS_SHARED_LIBADD.*-L$GITHUB_WORKSPACE/liblz4" Makefile

- name: Make sure we're linking against specific liblzf
run: |
grep "INCLUDES.*$GITHUB_WORKSPACE/liblzf" Makefile
grep "REDIS_SHARED_LIBADD.*-L$GITHUB_WORKSPACE/liblzf" Makefile

- name: Make sure we're linking against specific libzstd
run: |
grep "INCLUDES.*$GITHUB_WORKSPACE/libzstd" Makefile
grep "REDIS_SHARED_LIBADD.*-L$GITHUB_WORKSPACE/libzstd" Makefile

ubuntu:
runs-on: ubuntu-22.04
continue-on-error: false
strategy:
fail-fast: false
matrix:
php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3']
php: ['7.4', '8.0', '8.1', '8.2', '8.3', '8.4']
server: ['redis', 'keydb', 'valkey']

steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -20,43 +88,121 @@ jobs:
extensions: json, igbinary, msgpack, :redis
coverage: none
tools: none
- name: Install dependencies
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install valgrind libzstd-dev liblz4-dev libssl-dev

- name: Install Redis
if: matrix.server == 'redis'
env:
REDIS_PPA_URI: "packages.redis.io/deb"
REDIS_PPA_KEY: "packages.redis.io/gpg"
run: |
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
echo "deb https://$REDIS_PPA_URI $(lsb_release -cs) main" | \
sudo tee /etc/apt/sources.list.d/redis.list
curl -fsSL "https://$REDIS_PPA_KEY" | \
sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/redis.gpg
sudo apt-get update
sudo apt --fix-broken install
sudo apt-get install redis valgrind libzstd-dev liblz4-dev
sudo apt-get install redis

- name: Install KeyDB
if: matrix.server == 'keydb'
env:
KEYDB_PPA_URI: "download.keydb.dev/open-source-dist"
KEYDB_PPA_KEY: "download.keydb.dev/open-source-dist/keyring.gpg"
run: |
echo "deb https://$KEYDB_PPA_URI $(lsb_release -sc) main" | \
sudo tee /etc/apt/sources.list.d/keydb.list
sudo wget -O /etc/apt/trusted.gpg.d/keydb.gpg "https://$KEYDB_PPA_KEY"
sudo apt-get update
sudo apt-get install keydb

- name: Install ValKey
if: matrix.server == 'valkey'
run: |
git clone --depth 1 --branch 7.2.5 https://github.com/valkey-io/valkey.git
cd valkey && BUILD_TLS=yes sudo make install

- name: Build phpredis
run: |
phpize
./configure --enable-redis-lzf --enable-redis-zstd --enable-redis-igbinary --enable-redis-msgpack --enable-redis-lz4 --with-liblz4
./configure \
--enable-redis-lzf \
--enable-redis-zstd \
--enable-redis-igbinary \
--enable-redis-msgpack \
--enable-redis-lz4 \
--with-liblz4
sudo make -j"$(nproc)" install

echo 'extension = redis.so' | sudo tee -a "$(php --ini | grep 'Scan for additional .ini files' | awk '{print $7}')"/90-redis.ini
- name: Start redis

- name: Attempt to shutdown default server
run: ${{ matrix.server }}-cli SHUTDOWN NOSAVE || true

- name: Start ${{ matrix.server }}-server
run: |
redis-cli SHUTDOWN NOSAVE
for PORT in $(seq 6379 6382) $(seq 32767 32769); do
redis-server --port "$PORT" --daemonize yes --aclfile tests/users.acl --acl-pubsub-default allchannels
for PORT in {6379..6382} {32767..32769}; do
${{ matrix.server }}-server \
--port "$PORT" \
--daemonize yes \
--aclfile tests/users.acl \
--acl-pubsub-default allchannels
done
redis-server --port 0 --unixsocket /tmp/redis.sock --daemonize yes --aclfile tests/users.acl --acl-pubsub-default allchannels
- name: Start redis cluster
${{ matrix.server }}-server \
--port 0 \
--unixsocket /tmp/redis.sock \
--daemonize yes \
--aclfile tests/users.acl \
--acl-pubsub-default allchannels

- name: Start ${{ matrix.server }} cluster
run: |
mkdir -p tests/nodes
echo -n > tests/nodes/nodemap
for PORT in $(seq 7000 7005); do
redis-server --port "$PORT" --cluster-enabled yes --cluster-config-file "$PORT".conf --daemonize yes --aclfile tests/users.acl --acl-pubsub-default allchannels
for PORT in {7000..7005}; do
${{ matrix.server }}-server \
--port "$PORT" \
--cluster-enabled yes \
--cluster-config-file "$PORT".conf \
--daemonize yes \
--aclfile tests/users.acl \
--acl-pubsub-default allchannels
echo 127.0.0.1:"$PORT" >> tests/nodes/nodemap
done
echo yes | redis-cli --cluster create $(seq -f 127.0.0.1:%g 7000 7005) --cluster-replicas 1 --user phpredis -a phpredis
- name: Start redis sentinel

- name: Start ${{ matrix.server }} sentinel
run: |
wget raw.githubusercontent.com/redis/redis/7.0/sentinel.conf
for PORT in $(seq 26379 26380); do
for PORT in {26379..26380}; do
cp sentinel.conf "$PORT.conf"
sed -i '/^sentinel/Id' "$PORT.conf"
redis-server "$PORT.conf" --port "$PORT" --daemonize yes --sentinel monitor mymaster 127.0.0.1 6379 1 --sentinel auth-pass mymaster phpredis
${{ matrix.server }}-server "$PORT.conf" \
--port "$PORT" \
--daemonize yes \
--sentinel monitor mymaster 127.0.0.1 6379 1 \
--sentinel auth-pass mymaster phpredis
done

- name: Wait for ${{ matrix.server }} instances
run: |
for PORT in {6379..6382} {7000..7005} {32767..32768} {26379..26380}; do
until echo PING | ${{ matrix.server }}-cli -p "$PORT" 2>&1 | grep -qE 'PONG|NOAUTH'; do
echo "Still waiting for ${{ matrix.server }} on port $PORT"
sleep .5
done
done
until echo PING | ${{ matrix.server }}-cli -s /tmp/redis.sock 2>&1 | grep -qE 'PONG|NOAUTH'; do
echo "Still waiting for ${{ matrix.server }} at /tmp/redis.sock"
sleep .5
done

- name: Initialize ${{ matrix.server }} cluster
run: |
echo yes | ${{ matrix.server }}-cli --cluster create 127.0.0.1:{7000..7005} \
--cluster-replicas 1 --user phpredis -a phpredis

- name: Run tests
run: |
php tests/TestRedis.php --class Redis --user phpredis --auth phpredis
Expand All @@ -68,10 +214,14 @@ jobs:
- name: Run tests using valgrind
continue-on-error: true
run: |
valgrind --suppressions=tests/vg.supp --error-exitcode=1 php tests/TestRedis.php --class Redis --user phpredis --auth phpredis
valgrind --suppressions=tests/vg.supp --error-exitcode=1 php tests/TestRedis.php --class RedisArray --user phpredis --auth phpredis
valgrind --suppressions=tests/vg.supp --error-exitcode=1 php tests/TestRedis.php --class RedisCluster --user phpredis --auth phpredis
valgrind --suppressions=tests/vg.supp --error-exitcode=1 php tests/TestRedis.php --class RedisSentinel --auth phpredis
valgrind --suppressions=tests/vg.supp --error-exitcode=1 \
php tests/TestRedis.php --class Redis --user phpredis --auth phpredis
valgrind --suppressions=tests/vg.supp --error-exitcode=1 \
php tests/TestRedis.php --class RedisArray --user phpredis --auth phpredis
valgrind --suppressions=tests/vg.supp --error-exitcode=1 \
php tests/TestRedis.php --class RedisCluster --user phpredis --auth phpredis
valgrind --suppressions=tests/vg.supp --error-exitcode=1 \
php tests/TestRedis.php --class RedisSentinel --auth phpredis
env:
TEST_PHP_ARGS: -e
USE_ZEND_ALLOC: 0
Expand All @@ -82,7 +232,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3']
php: ['7.4', '8.0', '8.1', '8.2', '8.3', '8.4']
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -112,20 +262,21 @@ jobs:
strategy:
fail-fast: false
matrix:
php: ['7.3', '7.4', '8.0', '8.1', '8.2', '8.3']
php: ['8.0', '8.1', '8.2', '8.3', '8.4']
ts: [nts, ts]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Install PHP ${{ matrix.php }}
uses: php/setup-php-sdk@v0.8
uses: php/setup-php-sdk@v0.10
id: setup-php-sdk
with:
version: ${{ matrix.php }}
arch: x64
ts: ${{matrix.ts}}
cache: true
- name: Install dependencies
uses: ilammy/msvc-dev-cmd@v1
with:
Expand All @@ -142,7 +293,7 @@ jobs:
copy LICENSE binaries
Get-ChildItem -Recurse -Filter "php_redis.dll" | ForEach-Object {Copy-Item -Path $_.FullName -Destination "binaries"}
- name: Upload artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: redis-${{matrix.php}}-x64-${{matrix.ts}}
path: binaries
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: cpp
queries: +security-and-quality
- name: Pre-build
run: |
phpize
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
Loading