Skip to content

Commit 3c44237

Browse files
committed
Refactor CI workflow: switch to manual Redis setup for consistent multi-OS behavior, update dependencies, and streamline configuration files.
1 parent e3db7bb commit 3c44237

2 files changed

Lines changed: 1127 additions & 275 deletions

File tree

.github/workflows/continuous-integration.yml

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -26,65 +26,42 @@ jobs:
2626
fail-fast: false
2727
matrix:
2828
include:
29-
# Ubuntu: Test all PHP versions with Redis service
29+
# Ubuntu: Test all PHP versions
3030
- os: ubuntu-latest
3131
php-version: "8.1"
3232
dependencies: highest
33-
redis: service
3433
- os: ubuntu-latest
3534
php-version: "8.2"
3635
dependencies: lowest
37-
redis: service
3836
- os: ubuntu-latest
3937
php-version: "8.2"
4038
dependencies: highest
41-
redis: service
4239
- os: ubuntu-latest
4340
php-version: "8.3"
4441
dependencies: lowest
45-
redis: service
4642
- os: ubuntu-latest
4743
php-version: "8.3"
4844
dependencies: highest
49-
redis: service
5045
- os: ubuntu-latest
5146
php-version: "8.4"
5247
dependencies: lowest
53-
redis: service
5448
- os: ubuntu-latest
5549
php-version: "8.4"
5650
dependencies: highest
57-
redis: service
5851
# Windows: Latest PHP only for CI speed
5952
- os: windows-latest
6053
php-version: "8.4"
6154
dependencies: lowest
62-
redis: manual
6355
- os: windows-latest
6456
php-version: "8.4"
6557
dependencies: highest
66-
redis: manual
6758
# macOS: Latest PHP only for CI speed
6859
- os: macos-latest
6960
php-version: "8.4"
7061
dependencies: lowest
71-
redis: manual
7262
- os: macos-latest
7363
php-version: "8.4"
7464
dependencies: highest
75-
redis: manual
76-
77-
# Redis service container only works on Linux runners
78-
services:
79-
redis:
80-
image: redis:7-alpine
81-
ports:
82-
- 6379:6379
83-
options: >-
84-
--health-cmd "redis-cli ping"
85-
--health-interval 10s
86-
--health-timeout 5s
87-
--health-retries 3
8865

8966
steps:
9067
- name: Checkout repository
@@ -93,10 +70,11 @@ jobs:
9370
- name: Setup Redis (Ubuntu)
9471
if: runner.os == 'Linux'
9572
run: |
96-
# Use Redis service container - install client tools
73+
# Manual Redis setup for consistent behavior across OS
9774
sudo apt-get update -qq
98-
sudo apt-get install -y redis-tools
99-
redis-cli -h localhost -p 6379 ping
75+
sudo apt-get install -y redis-server redis-tools
76+
sudo systemctl start redis-server
77+
redis-cli ping
10078
10179
- name: Setup Redis (Windows)
10280
if: runner.os == 'Windows'
@@ -145,15 +123,13 @@ jobs:
145123
run: ./vendor/bin/phpunit --coverage-clover=coverage.xml
146124

147125
- name: Upload coverage report
148-
# Only upload coverage once to avoid duplication
149126
if: matrix.os == 'ubuntu-latest' && matrix.php-version == '8.4' && matrix.dependencies == 'highest'
150127
uses: codecov/codecov-action@v4
151128
with:
152129
files: coverage.xml
153130
fail_ci_if_error: false
154131

155132
- name: Run demo script
156-
# Only run demo on one matrix combination to save CI time
157133
if: env.SCRIPT != '' && matrix.os == 'ubuntu-latest' && matrix.php-version == '8.4' && matrix.dependencies == 'highest'
158134
run: |
159135
composer require doctrine/cache:"^1.12" --no-update

0 commit comments

Comments
 (0)