Skip to content

Commit c71e6c0

Browse files
committed
Update GitHub workflow to test against multiple Symfony versions
1 parent 83e87dd commit c71e6c0

1 file changed

Lines changed: 43 additions & 1 deletion

File tree

.github/workflows/continuous-integration.yml

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ jobs:
2525
symfony-deprecations-helper:
2626
- ""
2727
include:
28+
# PHP 7.4 test matrix
2829
- php-version: "7.4"
2930
deps: "normal"
3031

@@ -33,7 +34,13 @@ jobs:
3334

3435
- php-version: "7.4"
3536
deps: "dev"
37+
38+
# Test Symfony 4 with PHP 7.4
39+
- php-version: "7.4"
40+
deps: "normal"
41+
symfony-require: "4.4.*"
3642

43+
# PHP 8.0 test matrix
3744
- php-version: "8.0"
3845
deps: "normal"
3946

@@ -42,7 +49,13 @@ jobs:
4249

4350
- php-version: "8.0"
4451
deps: "dev"
52+
53+
# Test Symfony 5 with PHP 8.0
54+
- php-version: "8.0"
55+
deps: "normal"
56+
symfony-require: "5.4.*"
4557

58+
# PHP 8.1 test matrix
4659
- php-version: "8.1"
4760
deps: "normal"
4861

@@ -52,6 +65,12 @@ jobs:
5265
- php-version: "8.1"
5366
deps: "dev"
5467

68+
# Test Symfony 6 with PHP 8.1
69+
- php-version: "8.1"
70+
deps: "normal"
71+
symfony-require: "6.4.*"
72+
73+
# PHP 8.2 test matrix
5574
- php-version: "8.2"
5675
deps: "normal"
5776

@@ -61,6 +80,12 @@ jobs:
6180
- php-version: "8.2"
6281
deps: "dev"
6382

83+
# Test Symfony 7 with PHP 8.2
84+
- php-version: "8.2"
85+
deps: "normal"
86+
symfony-require: "7.0.*"
87+
88+
# PHP 8.3 test matrix
6489
- php-version: "8.3"
6590
deps: "normal"
6691

@@ -69,6 +94,11 @@ jobs:
6994

7095
- php-version: "8.3"
7196
deps: "dev"
97+
98+
# Test latest Symfony with PHP 8.3
99+
- php-version: "8.3"
100+
deps: "normal"
101+
symfony-require: "7.*"
72102

73103
steps:
74104
- name: "Checkout"
@@ -80,6 +110,10 @@ jobs:
80110
uses: "shivammathur/setup-php@v2"
81111
with:
82112
php-version: "${{ matrix.php-version }}"
113+
extensions: "json"
114+
tools: "composer:2"
115+
coverage: "pcov"
116+
ini-values: "memory_limit=-1"
83117

84118
- name: "Cache dependencies installed with composer"
85119
uses: "actions/cache@v3"
@@ -88,6 +122,14 @@ jobs:
88122
key: "php-${{ matrix.php-version }}-composer-locked-${{ hashFiles('composer.lock') }}"
89123
restore-keys: "php-${{ matrix.php-version }}-composer-locked-"
90124

125+
- name: "Require specific Symfony version"
126+
run: "composer global require --no-progress --no-scripts --no-plugins 'symfony/flex:^2.3'"
127+
if: "${{ matrix.symfony-require != '' }}"
128+
129+
- name: "Set Symfony version constraint"
130+
run: "composer config extra.symfony.require ${{ matrix.symfony-require }}"
131+
if: "${{ matrix.symfony-require != '' }}"
132+
91133
- name: "Install stable dependencies with composer"
92134
run: "composer update --no-interaction --prefer-dist --prefer-stable"
93135
if: "${{ matrix.deps == 'normal' }}"
@@ -106,7 +148,7 @@ jobs:
106148
- name: "Upload coverage file"
107149
uses: "actions/upload-artifact@v4"
108150
with:
109-
name: "phpunit-${{ matrix.php-version }}-${{ matrix.deps }}-${{ hashFiles('composer.lock') }}.coverage"
151+
name: "phpunit-${{ matrix.php-version }}-${{ matrix.deps }}-${{ matrix.symfony-require }}-${{ hashFiles('composer.lock') }}.coverage"
110152
path: "coverage.xml"
111153

112154
- uses: codecov/codecov-action@v3

0 commit comments

Comments
 (0)