@@ -225,3 +225,97 @@ jobs:
225
225
run : vendor/bin/pest
226
226
env :
227
227
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