39 Commits

Author SHA1 Message Date
michael-grunder
1d07c3a07e Add a .github/copilot-instructions.md file
Additionally remove `.github` from our root-level `.gitignore` file. I
assume it was erroneously added some time ago since we have files in
this repo.

Fixes #2705
2025-09-10 16:54:46 -07:00
Michael Grunder
b83981aaeb Rework HEXPIRE test inclusion + bump Valkey (#2684)
* Rework `HEXPIRE` test inclusion + bump Valkey

* Add a little `haveCommand` helper which uses `COMMAND INFO` to check
  if a given server has a specific command. This way when we bump valkey
  to an official release that supports the commands we will start
  testing.
* Bump Valkey from 7.2.5 to 8.1.3 which is much newer.

* Rework `haveCommand` to explicitly check for the command name

COMMAND INFO will return the command name as one of the first bits of
data so we can check for it that way.

* Fix incorrect logic
2025-08-06 10:08:49 -07:00
Pavlo Yatsukhnenko
334937cb98 Add PHP 8.5 to CI 2025-08-04 07:39:25 -07:00
michael-grunder
8014000369 Attempt to fix flaky GitHub CI tests.
We often have to rerun the test suite on GitHub actions because of a
hard to reproduce "Read error on connection" exception when getting a
new `RedisCluster` instance.

No one has ever reported this failure outside of GitHub CI and it's not
clear exactly what might be going on.

This commit does two main things:

1. Allows for one failure to construct a new `RedisCluster` instance but
   only if we detect we're running in GitHub CI.

2. Adds much more diagnostic information if we still have a fatal error
   (e.g. we can't connect in two tries, or some other fatal error
   happens). The new info includes the whole callstack before aborting
   as well as an attempt to manually ping the seeds with `redis-cli`.
2025-05-08 09:19:12 -07:00
Pavlo Yatsukhnenko
a10bca35bb Update codeql to v3 2025-01-31 22:07:21 +02:00
Pavlo Yatsukhnenko
6097e7ba50 Add PHP 8.4 to CI 2024-11-25 08:31:33 -08:00
michael-grunder
eb66fc9e2f Pin ubuntu version for KeyDB 2024-10-15 10:40:15 -07:00
michael-grunder
985b0313fb KeyDB doesn't have a noble release yet. 2024-10-14 14:00:21 -07:00
Christoph M. Becker
f89d4d8f6e Windows CI: update setup-php-sdk to v0.10 and enable caching 2024-09-30 15:39:25 +02:00
michael-grunder
9d38050093 Upload artifact v2 is deprecated 2024-09-19 14:51:09 -07:00
michael-grunder
d68c30f87d Remove Windows PHP 7.x jobs 2024-05-16 11:44:52 -07:00
michael-grunder
f350dc342c Test aginst the first stable version of valkey.
Now that valkey has an official release we can test against that and
remove the "continue-on-error" flag in CI.
2024-04-16 11:50:07 -07:00
Michael Grunder
dc39bd55a0 Remove 7.2 and 7.3 from CI. (#2478)
< 8.1 is EOL but no one upgrades when they should so it's probably
prudent to make sure we still compile against 7.4.
2024-04-08 14:53:27 -07:00
michael-grunder
59965971bb Add a CI step that waits for server instances before running tests
Every so often our tests will fail because we attempt to interact with
one of the daemonized server instances before it has enough time to
actually start.

Usually this happens when we try to use the cli tool to execute
`--cluster-create`, but it can occur elsewhere as well.

This commit adds a step that waits for every instance that we started to
actually be up before trying to create the cluster and run subsequent
unit tests.

Additionally it switches from `$(seq a b)` to the `{a..b}` brace
expansion.
2024-04-08 10:38:13 -07:00
michael-grunder
a819a44b83 Test against valkey
Add Valkey to our server matrix in addition to making the jobs a bit
more efficient by only installing the specific server we're testing on
each run.

For now we allow tests to fail against Valkey as they don't yet have an
official release.  Once there is an official release we'll remove the
`continue-on-error` setting for Valkey.
2024-04-07 13:35:07 -07:00
michael-grunder
54d62c7240 Add KeyDB to CI
See: #2466
2024-03-22 19:08:45 -07:00
Michael Grunder
ece3f7bebc Fix config.m4 when using custom dep paths (#2453)
* We need both PHP_ADD_LIBRARY_WITH_PATH and PHP_ADD_INCLUDE

Fixes #2452

* Add an initial test block for ./configure correctness.
2024-03-04 21:03:01 -08:00
Róbert Kelčák
78d15140fa Add PHP 8.3 to CI
Also Windows setup-php-sdk action was moved to the official repo where is maintained again.
2023-12-02 12:36:44 +01:00
Pavlo Yatsukhnenko
f4c2ac2647 Use actions/checkout@v4 2023-09-23 14:46:25 +03:00
Michele Locati
35a7cc094c Test PECL package creation 2023-05-09 13:24:56 -07:00
Pavlo Yatsukhnenko
82265c4d54 Fix install dependencies on Ubuntu 2023-04-02 13:52:00 +03:00
michael-grunder
ae3bc505a2 Fix shellcheck warnings 2022-12-11 15:42:54 -08:00
michael-grunder
856b3509f5 PHP 8.2 is now released. 2022-12-10 16:22:17 -08:00
michael-grunder
59de183bd4 Use Get-ChildItem instead of a hardcoded path for php_relay.dll 2022-12-10 15:08:31 -08:00
Michael Grunder
ac057145fc Build windows artifacts as part of CI (#2295)
Build windows artifacts as part of CI

See: #2291
2022-12-10 13:08:50 -08:00
michael-grunder
2a6dee5d4d Use PHP's new class constant mechanism.
Let gen_stub.php define the constants for us, including deriving their
actual values from C defines.

As a side-effect we have to drop support for PHP < 7.2 as it does not
have interned strings.
2022-11-24 09:26:44 -08:00
Till Krüss
7930a78875 Move issue template (#2247)
* move issue template
* ignore /.github; + cleanup
2022-11-08 14:12:38 -08:00
michael-grunder
46e64277af Suppress a valgrind false positive 2022-10-09 16:15:02 -07:00
Pavlo Yatsukhnenko
9d61504e75 GitHub Actions
Test builds on macos and windows
2022-06-30 20:55:14 +03:00
Pavlo Yatsukhnenko
9ff5c33a17 Install redis from official repository 2022-06-29 20:03:40 +03:00
Pavlo Yatsukhnenko
a5c41ceb0f Fix tests on Redis 7.0 2022-05-26 16:32:21 +03:00
Pavlo Yatsukhnenko
bfe05a6936 CodeQL 2022-04-13 18:06:25 +03:00
Pavlo Yatsukhnenko
56633e1b6b Fix tests 2022-01-21 21:23:52 +02:00
Michael Grunder
04fd44be8b Relax TTL test and run a smaller cluster in GitHub Actions (#2040)
* Fix expire check in testttl

The previous logic was timing related and also kind of testing Redis'
expiration logic itself.

* Use a smaller cluster in GitHub CI
2021-12-02 12:14:01 -08:00
Ruud Kamphuis
b8d3427ce9 Add experimental support for PHP 8.2 2021-11-17 09:13:16 +01:00
Ruud Kamphuis
a809d764a5 Remove experimental for PHP 8.1 on CI 2021-11-17 09:13:09 +01:00
Pavlo Yatsukhnenko
7c0ae874d4 Fix PHP 8.1 tests 2021-07-19 15:10:03 +03:00
Pavlo Yatsukhnenko
43b3821b36 GitHub Actions 2021-07-16 21:03:27 +03:00
Pavlo Yatsukhnenko
6f3f378274 Create FUNDING.yml 2019-11-06 08:49:44 +02:00