Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 31e0e73

Browse files
committedMar 15, 2024··
Add redis-cluster CI job
1 parent dfd1413 commit 31e0e73

File tree

2 files changed

+94
-0
lines changed

2 files changed

+94
-0
lines changed
 

‎.github/workflows/tests.yml

+92
Original file line numberDiff line numberDiff line change
@@ -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

‎tests/TestCase.php

+2
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ protected function defineEnvironment($app): void
2525
{
2626
tap($app['config'], function (Repository $config) {
2727
$config->set('queue.failed.driver', 'null');
28+
29+
$config->set('database.redis.clusters.cluster-test.0', $config->get('database.redis.default'));
2830
});
2931
}
3032
}

0 commit comments

Comments
 (0)
Please sign in to comment.