Skip to content

Commit 03ca1e7

Browse files
committed
ci: update PHP version and dependencies in CI configuration
1 parent df24aac commit 03ca1e7

File tree

4 files changed

+127
-306
lines changed

4 files changed

+127
-306
lines changed

.github/workflows/continuous-integration.yml

Lines changed: 31 additions & 213 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323

2424
matrix:
2525
php-version:
26-
- "8.1"
26+
- "8.5"
2727

2828
dependencies:
2929
- "highest"
@@ -61,10 +61,6 @@ jobs:
6161

6262
matrix:
6363
php-version:
64-
- "8.1"
65-
- "8.2"
66-
- "8.3"
67-
- "8.4"
6864
- "8.5"
6965

7066
steps:
@@ -84,97 +80,7 @@ jobs:
8480
tools: "${{ env.TOOLS }}"
8581

8682
- name: "Lint PHP"
87-
uses: "overtrue/phplint@9.6"
88-
89-
install:
90-
name: "Install dependencies"
91-
92-
needs: "lint"
93-
94-
runs-on: "ubuntu-latest"
95-
96-
continue-on-error: ${{ matrix.experimental }}
97-
98-
strategy:
99-
fail-fast: false
100-
101-
matrix:
102-
php-version:
103-
- "8.1"
104-
- "8.2"
105-
- "8.3"
106-
- "8.4"
107-
- "8.5"
108-
109-
dependencies:
110-
- "lowest"
111-
- "highest"
112-
113-
experimental: [false]
114-
115-
include:
116-
- php-version: "8.1"
117-
dependencies: "locked"
118-
experimental: false
119-
- php-version: "8.2"
120-
dependencies: "locked"
121-
experimental: false
122-
- php-version: "8.3"
123-
dependencies: "locked"
124-
experimental: false
125-
- php-version: "8.4"
126-
dependencies: "highest"
127-
experimental: false
128-
- php-version: "8.5"
129-
dependencies: "highest"
130-
experimental: false
131-
132-
steps:
133-
- name: "Checkout"
134-
uses: "actions/checkout@v6"
135-
with:
136-
# Disabling shallow clone is recommended for improving relevancy of reporting
137-
fetch-depth: 0
138-
139-
- name: "Install PHP"
140-
uses: "shivammathur/setup-php@2.36.0"
141-
with:
142-
php-version: "${{ matrix.php-version }}"
143-
extensions: "${{ env.PHP_EXTENSIONS }}"
144-
ini-values: "${{ env.PHP_INI_VALUES }}"
145-
coverage: "none"
146-
tools: "${{ env.TOOLS }}"
147-
148-
- name: "Install lowest dependencies"
149-
if: "${{ matrix.dependencies == 'lowest' }}"
150-
uses: "ramsey/composer-install@v3"
151-
with:
152-
dependency-versions: "${{ matrix.dependencies }}"
153-
composer-options: "${{ env.COMPOSER_OPTIONS }} --prefer-stable"
154-
155-
- name: "Install highest dependencies"
156-
if: "${{ matrix.dependencies == 'highest' && matrix.experimental == false }}"
157-
uses: "ramsey/composer-install@v3"
158-
with:
159-
dependency-versions: "${{ matrix.dependencies }}"
160-
composer-options: "${{ env.COMPOSER_OPTIONS }} --prefer-stable"
161-
162-
- name: "Install highest dependencies (Experimental)"
163-
if: "${{ matrix.dependencies == 'highest' && matrix.experimental == true }}"
164-
uses: "ramsey/composer-install@v3"
165-
with:
166-
dependency-versions: "${{ matrix.dependencies }}"
167-
composer-options: "${{ env.COMPOSER_OPTIONS }} --prefer-stable --ignore-platform-reqs"
168-
169-
- name: "Install locked dependencies"
170-
if: "${{ matrix.dependencies == 'locked' }}"
171-
uses: "ramsey/composer-install@v3"
172-
with:
173-
dependency-versions: "${{ matrix.dependencies }}"
174-
composer-options: "${{ env.COMPOSER_OPTIONS }}"
175-
176-
- name: "Check dependencies with composer"
177-
run: "composer outdated --direct"
83+
uses: "overtrue/phplint@10.0"
17884

17985
coding-standards:
18086
name: "Check Coding Standards with PHPCS"
@@ -190,10 +96,10 @@ jobs:
19096

19197
matrix:
19298
php-version:
193-
- "8.1"
99+
- "8.5"
194100

195101
dependencies:
196-
- "highest"
102+
- "locked"
197103

198104
steps:
199105
- name: "Checkout"
@@ -215,7 +121,7 @@ jobs:
215121
uses: "ramsey/composer-install@v3"
216122
with:
217123
dependency-versions: "${{ matrix.dependencies }}"
218-
composer-options: "${{ env.COMPOSER_OPTIONS }} --prefer-stable"
124+
composer-options: "${{ env.COMPOSER_OPTIONS }}"
219125

220126
- name: "Run squizlabs/php_codesniffer"
221127
run: "vendor/bin/phpcs --report=checkstyle -q | cs2pr"
@@ -234,10 +140,6 @@ jobs:
234140

235141
matrix:
236142
php-version:
237-
- "8.1"
238-
- "8.2"
239-
- "8.3"
240-
- "8.4"
241143
- "8.5"
242144

243145
dependencies:
@@ -272,54 +174,6 @@ jobs:
272174
name: "UnitTests with PHPUnit"
273175

274176
needs: "lint"
275-
276-
runs-on: "ubuntu-latest"
277-
278-
continue-on-error: false
279-
280-
strategy:
281-
fail-fast: false
282-
283-
matrix:
284-
php-version:
285-
- "8.1"
286-
- "8.2"
287-
- "8.3"
288-
- "8.4"
289-
- "8.5"
290-
291-
dependencies:
292-
- "highest"
293-
294-
steps:
295-
- name: "Checkout"
296-
uses: "actions/checkout@v6"
297-
with:
298-
# Disabling shallow clone is recommended for improving relevancy of reporting
299-
fetch-depth: 0
300-
301-
- name: "Install PHP"
302-
uses: "shivammathur/setup-php@2.36.0"
303-
with:
304-
php-version: "${{ matrix.php-version }}"
305-
extensions: "${{ env.PHP_EXTENSIONS }}"
306-
ini-values: "${{ env.PHP_INI_VALUES }}"
307-
coverage: "none"
308-
tools: "${{ env.TOOLS }}"
309-
310-
- name: "Update dependencies with composer"
311-
uses: "ramsey/composer-install@v3"
312-
with:
313-
dependency-versions: "${{ matrix.dependencies }}"
314-
composer-options: "${{ env.COMPOSER_OPTIONS }} --prefer-stable"
315-
316-
- name: "Run unit tests with phpunit/phpunit"
317-
run: "vendor/bin/phpunit -c phpunit.xml.dist --no-coverage --colors"
318-
319-
code-coverage:
320-
name: "Code Coverage with PHPUnit"
321-
322-
needs: "tests"
323177

324178
runs-on: "ubuntu-latest"
325179

@@ -329,15 +183,19 @@ jobs:
329183
fail-fast: false
330184

331185
matrix:
332-
php-version:
333-
- "8.1"
334-
- "8.2"
335-
- "8.3"
336-
- "8.4"
337-
- "8.5"
338-
339-
dependencies:
340-
- "highest"
186+
include:
187+
- php-version: "8.1"
188+
dependencies: "lowest"
189+
- php-version: "8.1"
190+
dependencies: "highest"
191+
- php-version: "8.2"
192+
dependencies: "highest"
193+
- php-version: "8.3"
194+
dependencies: "highest"
195+
- php-version: "8.4"
196+
dependencies: "highest"
197+
- php-version: "8.5"
198+
dependencies: "highest"
341199

342200
steps:
343201
- name: "Checkout"
@@ -355,62 +213,15 @@ jobs:
355213
coverage: "xdebug"
356214
tools: "${{ env.TOOLS }}"
357215

358-
- name: "Update dependencies with composer"
216+
- name: "Install lowest dependencies"
217+
if: "${{ matrix.dependencies == 'lowest' }}"
359218
uses: "ramsey/composer-install@v3"
360219
with:
361220
dependency-versions: "${{ matrix.dependencies }}"
362221
composer-options: "${{ env.COMPOSER_OPTIONS }} --prefer-stable"
363222

364-
- name: "Collect code coverage with Xdebug and phpunit/phpunit"
365-
run: "vendor/bin/phpunit -c phpunit.xml.dist --exclude-group compare --coverage-clover=coverage.clover --coverage-text --colors"
366-
367-
- name: "Upload coverage to Codecov"
368-
uses: "codecov/codecov-action@v5.5.2"
369-
with:
370-
file: "coverage.clover"
371-
flags: "phpunit"
372-
verbose: false
373-
374-
comparison-checks:
375-
name: "Compare results with PHPUnit"
376-
377-
needs: "tests"
378-
379-
runs-on: "ubuntu-latest"
380-
381-
continue-on-error: false
382-
383-
strategy:
384-
fail-fast: false
385-
386-
matrix:
387-
php-version:
388-
- "8.1"
389-
- "8.2"
390-
- "8.3"
391-
- "8.4"
392-
- "8.5"
393-
394-
dependencies:
395-
- "highest"
396-
397-
steps:
398-
- name: "Checkout"
399-
uses: "actions/checkout@v6"
400-
with:
401-
# Disabling shallow clone is recommended for improving relevancy of reporting
402-
fetch-depth: 0
403-
404-
- name: "Install PHP"
405-
uses: "shivammathur/setup-php@2.36.0"
406-
with:
407-
php-version: "${{ matrix.php-version }}"
408-
extensions: "${{ env.PHP_EXTENSIONS }}"
409-
ini-values: "${{ env.PHP_INI_VALUES }}"
410-
coverage: "none"
411-
tools: "${{ env.TOOLS }}"
412-
413-
- name: "Update dependencies with composer"
223+
- name: "Install highest dependencies"
224+
if: "${{ matrix.dependencies == 'highest' }}"
414225
uses: "ramsey/composer-install@v3"
415226
with:
416227
dependency-versions: "${{ matrix.dependencies }}"
@@ -422,8 +233,15 @@ jobs:
422233
mkdir -p resources
423234
cp /tmp/browscap.ini resources/browscap.ini
424235
425-
- name: "Compare get_browser to browscap-php results"
426-
run: "vendor/bin/phpunit -c phpunit.xml.dist --no-coverage --group compare --colors"
236+
- name: "Run unit tests with phpunit/phpunit"
237+
run: "vendor/bin/phpunit -c phpunit.xml.dist --coverage-clover=coverage.clover --coverage-text --colors"
238+
239+
- name: "Upload coverage to Codecov"
240+
uses: "codecov/codecov-action@v5.5.2"
241+
with:
242+
file: "coverage.clover"
243+
flags: "phpunit"
244+
verbose: false
427245

428246
roave-backwards-compatibility-check:
429247
name: "Check for Backward Compatibility breaks"

composer.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,12 @@
4141
"symfony/filesystem": "^6.4.0 || ^7.0.0"
4242
},
4343
"require-dev": {
44-
"doctrine/coding-standard": "^12.0.0",
44+
"doctrine/coding-standard": "^14.0.0",
4545
"mikey179/vfsstream": "^1.6.11",
46-
"phpstan/extension-installer": "^1.3.1",
47-
"phpstan/phpstan": "^1.10.43",
48-
"phpstan/phpstan-beberlei-assert": "^1.1.2",
49-
"phpstan/phpstan-deprecation-rules": "^1.1.4",
46+
"phpstan/extension-installer": "^1.4.3",
47+
"phpstan/phpstan": "^1.12.9",
48+
"phpstan/phpstan-beberlei-assert": "^1.1.3",
49+
"phpstan/phpstan-deprecation-rules": "^1.2.1",
5050
"phpstan/phpstan-phpunit": "^1.3.15",
5151
"phpunit/phpunit": "^10.4.2"
5252
},

0 commit comments

Comments
 (0)