@@ -9,6 +9,7 @@ permissions:
99env :
1010 COMPOSER_PREFER_STABLE : ' 1'
1111 TEST_OUTPUT_STYLE : pretty
12+ SUPPORTED_VERSIONS_FILE_PATH : .github/workflows/supported-versions.json
1213
1314jobs :
1415 fetch-supported-versions :
2829 id : fetch-file
2930 uses : yoanm/gha-supported-versions-parser/github-downloader@v1
3031 with :
31- file-path : .github/workflows/supported-versions.json
32+ file-path : ${{ env.SUPPORTED_VERSIONS_FILE_PATH }}
3233
3334 - name : Fetch PHP supported versions
3435 id : fetch-php-versions
@@ -62,21 +63,21 @@ jobs:
6263 symfony-version : ' ${{ needs.fetch-supported-versions.outputs.symfony-max }}'
6364 # Fix - behat/gherkin => Avoid issue with behat <-> gherkin packages (See https://github.com/Behat/Gherkin/issues/317)
6465 pkg-extra-constraints : --with 'behat/gherkin:~4.12.0'
65- - job-name : Up to date versions - Sf 5 .4 case
66+ - job-name : Up to date versions - Sf 6 .4 case
6667 php-version : ' ${{ needs.fetch-supported-versions.outputs.php-max }}'
67- symfony-version : ' 5 .4'
68+ symfony-version : ' 6 .4'
6869 # Fix - behat/gherkin => Avoid issue with behat <-> gherkin packages (See https://github.com/Behat/Gherkin/issues/317)
69- # Fix - symfony/yaml - Avoid issue with Sf YAML 6.4+ and Framework bundle
70- pkg-extra-constraints : --with 'behat/gherkin:~4.12.0' ${{ ( needs.fetch-supported-versions.outputs.symfony-max == '6.4' ) && '--with "symfony/yaml:~6.4.0"' || '' }}
70+ pkg-extra-constraints : --with 'behat/gherkin:~4.12.0'
7171 - job-name : Bare minimum # => Lowest versions allowed by composer config
7272 php-version : ' ${{ needs.fetch-supported-versions.outputs.php-min }}'
7373 symfony-version : ' ${{ needs.fetch-supported-versions.outputs.symfony-min }}'
74- - job-name : Bare minimum - Sf 5.4 case
75- php-version : ' ${{ needs.fetch-supported-versions.outputs.php-min }}'
76- symfony-version : ' 5.4'
77- - job-name : Late PHP migration # => Highest symfony version with lowest php version allowed by composer config
74+ - job-name : Bare minimum - Sf 6.4 case
7875 # Fix - Sf 6.4 require php 8.1 minimum !
79- php-version : ${{ ( needs.fetch-supported-versions.outputs.symfony-max == '6.4' && needs.fetch-supported-versions.outputs.php-min == '8.0' ) && '8.1' || needs.fetch-supported-versions.outputs.php-min }}
76+ php-version : ${{ ( needs.fetch-supported-versions.outputs.php-min == '8.0' ) && '8.1' || needs.fetch-supported-versions.outputs.php-min }}
77+ symfony-version : ' 6.4'
78+ - job-name : Late PHP migration # => Highest symfony version with lowest php version allowed by composer config
79+ # Fix - Sf 7.0 require php 8.1 minimum, most of deps require 8.2 !
80+ php-version : ${{ ( needs.fetch-supported-versions.outputs.symfony-max == '7.0' && needs.fetch-supported-versions.outputs.php-min == '8.0' ) && '8.2' || needs.fetch-supported-versions.outputs.php-min }}
8081 symfony-version : ' ${{ needs.fetch-supported-versions.outputs.symfony-max }}'
8182 - job-name : Late Symfony migration # => Lowest symfony version with highest php version allowed by composer config
8283 php-version : ' ${{ needs.fetch-supported-versions.outputs.php-max }}'
@@ -115,7 +116,7 @@ jobs:
115116 path : |
116117 ${{ steps.composer-cache.outputs.dir }}
117118 # Clear the cache if composer.json (as composer.lock is not available) has been updated
118- key : tests-php${{ steps.setup-php.outputs.php-version }}-sf${{ matrix.symfony-version }}-${{ hashFiles('composer.json') }}
119+ key : tests-php${{ steps.setup-php.outputs.php-version }}-sf${{ matrix.symfony-version }}-${{ hashFiles('composer.json', env.SUPPORTED_VERSIONS_FILE_PATH ) }}
119120
120121 - name : Build with PHP ${{ steps.setup-php.outputs.php-version }} & Symfony ${{ matrix.symfony-version }}
121122 run : |
@@ -200,7 +201,7 @@ jobs:
200201 path : |
201202 ${{ steps.composer-cache.outputs.dir }}
202203 # Clear the cache if composer.json (as composer.lock is not available) has been updated
203- key : tests-php${{ steps.setup-php.outputs.php-version }}-sf${{ env.SYMFONY_VERSION }}-${{ hashFiles('composer.json') }}
204+ key : tests-php${{ steps.setup-php.outputs.php-version }}-sf${{ env.SYMFONY_VERSION }}-${{ hashFiles('composer.json', env.SUPPORTED_VERSIONS_FILE_PATH ) }}
204205
205206 - name : Build with PHP ${{ steps.setup-php.outputs.php-version }} & Symfony ${{ env.SYMFONY_VERSION }}
206207 run : |
@@ -249,8 +250,8 @@ jobs:
249250 # Fix - behat/gherkin => Avoid issue with behat <-> gherkin packages (See https://github.com/Behat/Gherkin/issues/317)
250251 pkg-extra-constraints : behat/gherkin:~4.12.0
251252 - job-name : Symfony with lowest supported PHP version
252- # Fix - Sf 7.0 require php 8.1 minimum, most of deps require 8.2 !
253- php-version : ${{ ( needs.fetch-supported-versions.outputs.symfony-next == '7.0 ' && needs.fetch-supported-versions.outputs.php-min == '8.0' ) && '8.2' || needs.fetch-supported-versions.outputs.php-min }}
253+ # Fix - symfony/validator 7.1 require php 8.2 minimum !
254+ php-version : ${{ ( needs.fetch-supported-versions.outputs.symfony-next == '7.1 ' && needs.fetch-supported-versions.outputs.php-min == '8.0' ) && '8.2' || needs.fetch-supported-versions.outputs.php-min }}
254255 symfony-version : ${{ needs.fetch-supported-versions.outputs.symfony-next }}
255256 # Fix - behat/gherkin => Avoid issue with behat <-> gherkin packages (See https://github.com/Behat/Gherkin/issues/317)
256257 pkg-extra-constraints : behat/gherkin:~4.12.0
@@ -280,7 +281,7 @@ jobs:
280281 path : |
281282 ${{ steps.composer-cache.outputs.dir }}
282283 # Clear the cache if composer.json (as composer.lock is not available) has been updated
283- key : tests-php${{ steps.setup-php.outputs.php-version }}-sf${{ matrix.symfony-version }}-${{ hashFiles('composer.json') }}
284+ key : tests-php${{ steps.setup-php.outputs.php-version }}-sf${{ matrix.symfony-version }}-${{ hashFiles('composer.json', env.SUPPORTED_VERSIONS_FILE_PATH ) }}
284285
285286 - name : Build with PHP ${{ steps.setup-php.outputs.php-version }} & Symfony ${{ matrix.symfony-version }}
286287 run : |
0 commit comments