@@ -225,3 +225,95 @@ 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
+
271
+ mysql :
272
+ image : mysql:5.7
273
+ env :
274
+ MYSQL_RANDOM_ROOT_PASSWORD : yes
275
+ MYSQL_DATABASE : pulse
276
+ MYSQL_USER : pulse
277
+ MYSQL_PASSWORD : password
278
+ ports :
279
+ - 3306:3306
280
+ options : --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
281
+
282
+ strategy :
283
+ fail-fast : true
284
+ matrix :
285
+ php : [8.3]
286
+ laravel : [11]
287
+ stability : [prefer-stable]
288
+
289
+ name : PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} - Stability ${{ matrix.stability }} - Redis Cluster (with MySQL 5.7)
290
+
291
+ steps :
292
+ - name : Checkout code
293
+ uses : actions/checkout@v4
294
+
295
+ - name : Setup PHP
296
+ uses : shivammathur/setup-php@v2
297
+ with :
298
+ php-version : ${{ matrix.php }}
299
+ extensions : dom, curl, libxml, mbstring, redis, pcntl, zip
300
+ ini-values : error_reporting=E_ALL
301
+ tools : composer:v2
302
+ coverage : none
303
+
304
+ - name : Install redis-cli
305
+ run : sudo apt-get install -qq redis-tools
306
+
307
+ - name : Install dependencies
308
+ run : |
309
+ composer update --prefer-dist --no-interaction --no-progress --${{ matrix.stability }}
310
+
311
+ - name : Execute tests
312
+ run : vendor/bin/pest
313
+ env :
314
+ DB_CONNECTION : mysql
315
+ DB_DATABASE : pulse
316
+ DB_USERNAME : pulse
317
+ DB_PASSWORD : password
318
+ DB_COLLATION : utf8mb4_unicode_ci
319
+ PULSE_REDIS_CONNECTION : cluster-test
0 commit comments