Skip to content

Commit a0e5ae0

Browse files
authored
Drop support for PHP 8.2 (#80)
1 parent 66248ec commit a0e5ae0

4 files changed

Lines changed: 41 additions & 127 deletions

File tree

.github/workflows/ci.yml

Lines changed: 31 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -7,202 +7,116 @@ on:
77
- "master"
88
- "renovate/*"
99

10+
env:
11+
INI_VALUES: zend.assertions=1,error_reporting=-1,date.timezone="Europe/Rome"
12+
1013
jobs:
1114
composer-json-lint:
1215
name: "Lint composer.json"
13-
1416
runs-on: "ubuntu-latest"
15-
1617
strategy:
1718
matrix:
1819
php-version:
19-
- "8.2"
20+
- "8.3"
2021

2122
steps:
22-
- name: "Checkout"
23-
uses: "actions/checkout@v4"
24-
25-
- name: "Install PHP"
26-
uses: "shivammathur/setup-php@v2"
23+
- uses: "actions/checkout@v4"
24+
- uses: "shivammathur/setup-php@v2"
2725
with:
2826
coverage: "none"
2927
php-version: "${{ matrix.php-version }}"
28+
ini-values: "${{ env.INI_VALUES }}"
3029
tools: composer-normalize
3130

32-
- name: "Validate composer.json"
33-
run: "composer validate --strict"
34-
35-
- name: "Normalize composer.json"
36-
run: "composer-normalize --dry-run"
31+
- run: "composer validate --strict"
32+
- run: "composer-normalize --dry-run"
3733

3834
tests:
3935
name: "Tests"
40-
4136
runs-on: "ubuntu-latest"
42-
4337
strategy:
4438
matrix:
4539
php-version:
46-
- "8.2"
4740
- "8.3"
4841
- "8.4"
49-
dependencies:
50-
- "highest"
5142

5243
steps:
53-
- name: "Checkout"
54-
uses: "actions/checkout@v4"
55-
56-
- name: "Install PHP"
57-
uses: "shivammathur/setup-php@v2"
44+
- uses: "actions/checkout@v4"
45+
- uses: "shivammathur/setup-php@v2"
5846
with:
59-
coverage: "none"
47+
coverage: "pcov"
6048
php-version: "${{ matrix.php-version }}"
61-
ini-values: zend.assertions=1
62-
63-
- name: "Get composer cache directory"
64-
id: composercache
65-
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
66-
67-
- name: "Cache dependencies"
68-
uses: actions/cache@v4
69-
with:
70-
path: ${{ steps.composercache.outputs.dir }}
71-
key: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-${{ hashFiles('**/composer.json') }}
72-
restore-keys: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-
73-
74-
- name: "Remove PHP-CS-Fixer not ready for PHP 8.3 yet"
75-
run: "composer remove --dev --no-update slam/php-cs-fixer-extensions"
76-
77-
- name: "Install lowest dependencies"
78-
if: ${{ matrix.dependencies == 'lowest' }}
79-
run: "composer update --no-interaction --no-progress --prefer-lowest"
80-
81-
- name: "Install highest dependencies"
82-
if: ${{ matrix.dependencies == 'highest' }}
83-
run: "composer update --no-interaction --no-progress"
49+
ini-values: "${{ env.INI_VALUES }}"
50+
- uses: "ramsey/composer-install@v3"
8451

8552
- name: "Run tests"
8653
timeout-minutes: 5
8754
run: "vendor/bin/phpunit --no-coverage --no-logging"
8855

8956
code-coverage:
9057
name: "Code Coverage"
91-
9258
runs-on: "ubuntu-latest"
93-
9459
strategy:
9560
matrix:
9661
php-version:
97-
- "8.2"
62+
- "8.3"
9863

9964
steps:
100-
- name: "Checkout"
101-
uses: "actions/checkout@v4"
102-
103-
- name: "Install PHP"
104-
uses: "shivammathur/setup-php@v2"
65+
- uses: "actions/checkout@v4"
66+
- uses: "shivammathur/setup-php@v2"
10567
with:
10668
coverage: "pcov"
10769
php-version: "${{ matrix.php-version }}"
108-
ini-values: zend.assertions=1
109-
110-
- name: "Get composer cache directory"
111-
id: composercache
112-
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
113-
114-
- name: "Cache dependencies"
115-
uses: actions/cache@v4
116-
with:
117-
path: ${{ steps.composercache.outputs.dir }}
118-
key: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-${{ hashFiles('**/composer.json') }}
119-
restore-keys: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-
120-
121-
- name: "Install dependencies"
122-
run: "composer update --no-interaction --no-progress"
70+
ini-values: "${{ env.INI_VALUES }}"
71+
- uses: "ramsey/composer-install@v3"
12372

12473
- name: "Run tests"
12574
timeout-minutes: 10
12675
run: "vendor/bin/phpunit --coverage-clover=coverage.xml"
12776

12877
- name: "Send code coverage report to Codecov.io"
129-
uses: codecov/codecov-action@v5
78+
uses: "codecov/codecov-action@v5"
13079
with:
13180
token: ${{ secrets.CODECOV_TOKEN }}
13281
file: ./coverage.xml
13382
fail_ci_if_error: true
13483

13584
coding-standards:
13685
name: "Coding Standards"
137-
13886
runs-on: "ubuntu-latest"
139-
14087
strategy:
14188
matrix:
14289
php-version:
143-
- "8.2"
90+
- "8.3"
14491

14592
steps:
146-
- name: "Checkout"
147-
uses: "actions/checkout@v4"
148-
149-
- name: "Install PHP"
150-
uses: "shivammathur/setup-php@v2"
93+
- uses: "actions/checkout@v4"
94+
- uses: "shivammathur/setup-php@v2"
15195
with:
15296
coverage: "none"
15397
php-version: "${{ matrix.php-version }}"
154-
155-
- name: "Get composer cache directory"
156-
id: composercache
157-
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
158-
159-
- name: "Cache dependencies"
160-
uses: actions/cache@v4
161-
with:
162-
path: ${{ steps.composercache.outputs.dir }}
163-
key: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-${{ hashFiles('**/composer.json') }}
164-
restore-keys: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-
165-
166-
- name: "Install dependencies"
167-
run: "composer update --no-interaction --no-progress"
98+
ini-values: "${{ env.INI_VALUES }}"
99+
- uses: "ramsey/composer-install@v3"
168100

169101
- name: "Check coding standards"
170102
run: "vendor/bin/php-cs-fixer fix --verbose --dry-run --diff"
171103

172104
static-analysis:
173105
name: "Static Analysis"
174-
175106
runs-on: "ubuntu-latest"
176-
177107
strategy:
178108
matrix:
179109
php-version:
180-
- "8.2"
110+
- "8.3"
181111

182112
steps:
183-
- name: "Checkout"
184-
uses: "actions/checkout@v4"
185-
186-
- name: "Install PHP"
187-
uses: "shivammathur/setup-php@v2"
113+
- uses: "actions/checkout@v4"
114+
- uses: "shivammathur/setup-php@v2"
188115
with:
189116
coverage: "none"
190117
php-version: "${{ matrix.php-version }}"
191-
tools: cs2pr
192-
193-
- name: "Get composer cache directory"
194-
id: composercache
195-
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
196-
197-
- name: "Cache dependencies"
198-
uses: actions/cache@v4
199-
with:
200-
path: ${{ steps.composercache.outputs.dir }}
201-
key: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-${{ hashFiles('**/composer.json') }}
202-
restore-keys: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-
203-
204-
- name: "Install dependencies"
205-
run: "composer update --no-interaction --no-progress"
118+
ini-values: "${{ env.INI_VALUES }}"
119+
- uses: "ramsey/composer-install@v3"
206120

207121
- name: "Run static analysis"
208-
run: "vendor/bin/phpstan analyse --no-progress --error-format=checkstyle | cs2pr"
122+
run: "vendor/bin/phpstan analyse --no-progress"

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM php:8.4
1+
FROM php:8.3
22

33
ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
44

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
DOCKER_PHP_EXEC := docker compose run --rm php
1+
DOCKER_PHP_EXEC := docker compose run --rm --env PHP_CS_FIXER_IGNORE_ENV=1 php
22
PHP_BIN=php -d zend.assertions=1
33

44
all: csfix static-analysis test

composer.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,22 @@
1818
}
1919
],
2020
"require": {
21-
"php": "~8.2.0 || ~8.3.0 || ~8.4.0",
22-
"phpstan/phpstan": "^2.0.2"
21+
"php": "~8.3.0 || ~8.4.0",
22+
"phpstan/phpstan": "^2.1.4"
2323
},
2424
"require-dev": {
25-
"laminas/laminas-filter": "^2.39.0",
25+
"laminas/laminas-filter": "^2.40.0",
2626
"laminas/laminas-form": "^3.21.0",
2727
"laminas/laminas-hydrator": "^4.16.0",
2828
"laminas/laminas-i18n": "^2.29.0",
2929
"laminas/laminas-inputfilter": "^2.31.0",
3030
"laminas/laminas-mvc": "^3.8.0",
3131
"laminas/laminas-paginator": "^2.19.0",
32-
"laminas/laminas-validator": "^2.64.1",
33-
"phpstan/phpstan-deprecation-rules": "^2",
34-
"phpstan/phpstan-phpunit": "^2.0.1",
35-
"phpunit/phpunit": "^11.4.3",
36-
"slam/php-cs-fixer-extensions": "^3.11.1"
32+
"laminas/laminas-validator": "^2.64.2",
33+
"phpstan/phpstan-deprecation-rules": "^2.0.1",
34+
"phpstan/phpstan-phpunit": "^2.0.4",
35+
"phpunit/phpunit": "^11.5.7",
36+
"slam/php-cs-fixer-extensions": "^3.12.0"
3737
},
3838
"conflict": {
3939
"laminas/laminas-filter": "<2.37",

0 commit comments

Comments
 (0)