@@ -225,3 +225,97 @@ jobs:
225225 run : vendor/bin/pest
226226 env :
227227 DB_CONNECTION : sqlite
228+
229+ redis-cluster :
230+ runs-on : ubuntu-22.04
231+
232+ services :
233+ redis-node-0 :
234+ image : bitnami/redis-cluster
235+ env :
236+ ALLOW_EMPTY_PASSWORD : yes
237+ REDIS_NODES : redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5
238+
239+ redis-node-1 :
240+ image : bitnami/redis-cluster
241+ env :
242+ ALLOW_EMPTY_PASSWORD : yes
243+ REDIS_NODES : redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5
244+
245+ redis-node-2 :
246+ image : bitnami/redis-cluster
247+ env :
248+ ALLOW_EMPTY_PASSWORD : yes
249+ REDIS_NODES : redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5
250+
251+ redis-node-3 :
252+ image : bitnami/redis-cluster
253+ env :
254+ ALLOW_EMPTY_PASSWORD : yes
255+ REDIS_NODES : redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5
256+
257+ redis-node-4 :
258+ image : bitnami/redis-cluster
259+ env :
260+ ALLOW_EMPTY_PASSWORD : yes
261+ REDIS_NODES : redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5
262+
263+ redis-node-5 :
264+ image : bitnami/redis-cluster
265+ env :
266+ ALLOW_EMPTY_PASSWORD : yes
267+ REDIS_NODES : redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5
268+ REDIS_CLUSTER_REPLICAS : 1
269+ REDIS_CLUSTER_CREATOR : yes
270+ ports :
271+ - 6379:6379
272+
273+ mysql :
274+ image : mysql:5.7
275+ env :
276+ MYSQL_RANDOM_ROOT_PASSWORD : yes
277+ MYSQL_DATABASE : pulse
278+ MYSQL_USER : pulse
279+ MYSQL_PASSWORD : password
280+ ports :
281+ - 3306:3306
282+ options : --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
283+
284+ strategy :
285+ fail-fast : true
286+ matrix :
287+ php : [8.3]
288+ laravel : [11]
289+ stability : [prefer-stable]
290+
291+ name : PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} - Stability ${{ matrix.stability }} - Redis Cluster (with MySQL 5.7)
292+
293+ steps :
294+ - name : Checkout code
295+ uses : actions/checkout@v4
296+
297+ - name : Setup PHP
298+ uses : shivammathur/setup-php@v2
299+ with :
300+ php-version : ${{ matrix.php }}
301+ extensions : dom, curl, libxml, mbstring, redis, pcntl, zip
302+ ini-values : error_reporting=E_ALL
303+ tools : composer:v2
304+ coverage : none
305+
306+ - name : Install redis-cli
307+ run : sudo apt-get install -qq redis-tools
308+
309+ - name : Install dependencies
310+ run : |
311+ composer update --prefer-dist --no-interaction --no-progress --${{ matrix.stability }}
312+
313+ - name : Execute tests
314+ run : vendor/bin/pest
315+ env :
316+ DB_CONNECTION : mysql
317+ DB_DATABASE : pulse
318+ DB_USERNAME : pulse
319+ DB_PASSWORD : password
320+ DB_COLLATION : utf8mb4_unicode_ci
321+ PULSE_REDIS_CONNECTION : cluster-test
0 commit comments