@@ -225,3 +225,95 @@ 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+
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