Skip to content

Commit 0f6f708

Browse files
authored
feat: add compatibility support for Symfony 5.4, ^6.0 (#5)
1 parent 587f052 commit 0f6f708

File tree

5 files changed

+43
-8154
lines changed

5 files changed

+43
-8154
lines changed

.github/workflows/test.yml

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
name: Test
22

33
on:
4+
workflow_dispatch:
45
push:
56
branches:
67
- master
@@ -18,14 +19,24 @@ concurrency:
1819

1920
jobs:
2021
test:
21-
name: Test
22-
22+
name: "Test PHP ${{ matrix.php }} with Symfony ${{ matrix.symfony_version }} and composer flags ${{ matrix.composer-flags }}"
2323
runs-on: ubuntu-latest
24-
2524
strategy:
2625
matrix:
27-
php: ['8.0', '8.1', '8.2']
28-
26+
php: ['8.0', '8.1', '8.2', '8.3']
27+
symfony_version: ['5.4.*', '6.0.*', '6.1.*', '6.2.*' , '6.3.*', '6.4.*']
28+
composer-flags: ['--prefer-stable']
29+
exclude:
30+
- php: '8.0'
31+
symfony_version: '5.4.*' # Exclusion due to issues with ECS
32+
- php: '8.0'
33+
symfony_version: '6.1.*' # Requires PHP >= 8.1 for compatibility
34+
- php: '8.0'
35+
symfony_version: '6.2.*' # Requires PHP >= 8.1 for compatibility
36+
- php: '8.0'
37+
symfony_version: '6.3.*' # Requires PHP >= 8.1 for compatibility
38+
- php: '8.0'
39+
symfony_version: '6.4.*' # Requires PHP >= 8.1 for compatibility
2940
steps:
3041
- uses: actions/checkout@v3
3142

@@ -40,6 +51,13 @@ jobs:
4051
- name: Validate composer.json and composer.lock
4152
run: composer validate
4253

54+
- name: Install Flex and set Symfony version
55+
if: ${{ matrix.symfony_version }}
56+
run: |
57+
composer global config --no-plugins allow-plugins.symfony/flex true
58+
composer global require symfony/flex
59+
composer config extra.symfony.require ${{ matrix.symfony_version }}
60+
4361
- name: Get composer cache directory
4462
id: composer-cache
4563
run: echo "dir="$(composer config cache-files-dir)"" >> $GITHUB_OUTPUT
@@ -48,11 +66,13 @@ jobs:
4866
uses: actions/cache@v3
4967
with:
5068
path: ${{ steps.composer-cache.outputs.dir }}
51-
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
52-
restore-keys: ${{ runner.os }}-composer-
69+
key: "key-os-${{ runner.os }}-php-${{matrix.php}}-symfony-${{ matrix.symfony_version }}-composer-${{ hashFiles('composer.json') }}"
70+
restore-keys: "key-os-${{ runner.os }}-php-${{matrix.php}}-symfony-${{ matrix.symfony_version }}-composer-"
5371

5472
- name: Install composer dependencies
55-
run: composer install
73+
run: composer update ${{ matrix.composer-flags }}
74+
env:
75+
SYMFONY_REQUIRE: ${{ matrix.symfony_version }}
5676

5777
- name: Launch test suite
5878
run: make test

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
.idea/
22
vendor/
3+
composer.lock
34
.phpunit.result.cache

composer.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
"ext-json": "*",
99
"composer-plugin-api": "^2.3",
1010
"colinodell/indentation": "^1.0",
11-
"symfony/config": "^6.0",
12-
"symfony/dependency-injection": "^6.0",
13-
"symfony/filesystem": "^6.0",
14-
"symfony/finder": "^6.0",
15-
"symfony/options-resolver": "^6.0",
16-
"symfony/validator": "^6.0",
17-
"symfony/var-exporter": "^6.0",
18-
"symfony/yaml": "^6.0"
11+
"symfony/config": "^5.4 || ^6.0",
12+
"symfony/dependency-injection": "^5.4 || ^6.0",
13+
"symfony/filesystem": "^5.4 || ^6.0",
14+
"symfony/finder": "^5.4 || ^6.0",
15+
"symfony/options-resolver": "^5.4 || ^6.0",
16+
"symfony/validator": "^5.4 || ^6.0",
17+
"symfony/var-exporter": "^5.4 || ^6.0",
18+
"symfony/yaml": "^5.4 || ^6.0"
1919
},
2020
"require-dev": {
2121
"composer/composer": "^2.3",
@@ -24,10 +24,10 @@
2424
"mockery/mockery": "^1.5",
2525
"nikic/php-parser": "^4.15",
2626
"php-parallel-lint/php-parallel-lint": "^1.3",
27-
"phpro/grumphp": "^1.13",
27+
"phpro/grumphp": "^1.13 || ^2.4",
2828
"phpunit/phpunit": "^9.5.22",
2929
"roave/security-advisories": "dev-latest",
30-
"symfony/var-dumper": "^6.0",
30+
"symfony/var-dumper": "^5.4 || ^6.0",
3131
"symplify/coding-standard": "^11.0",
3232
"symplify/easy-coding-standard": "^11.0"
3333
},

0 commit comments

Comments
 (0)