From 7c8701d474fef355055f34ee9c75b3f78475cfba Mon Sep 17 00:00:00 2001 From: Yoanm <4410697+yoanm@users.noreply.github.com> Date: Wed, 3 Sep 2025 15:03:23 +0200 Subject: [PATCH 1/8] [BC] Add sf 7.0 and drop 4.4 --- .github/workflows/reusable-CI-workflow.yml | 31 +++++++++++----------- .github/workflows/supported-versions.json | 2 +- composer.json | 14 +++++----- 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/.github/workflows/reusable-CI-workflow.yml b/.github/workflows/reusable-CI-workflow.yml index 34af513..57fa8dd 100644 --- a/.github/workflows/reusable-CI-workflow.yml +++ b/.github/workflows/reusable-CI-workflow.yml @@ -63,26 +63,28 @@ jobs: symfony-version: '${{ needs.fetch-supported-versions.outputs.symfony-max }}' # Fix - behat/gherkin => Avoid issue with behat <-> gherkin packages (See https://github.com/Behat/Gherkin/issues/317) pkg-extra-constraints: --with 'behat/gherkin:~4.12.0' - - job-name: Up to date versions - Sf 5.4 case + - job-name: Up to date versions - Sf 6.4 case php-version: '${{ needs.fetch-supported-versions.outputs.php-max }}' - symfony-version: '5.4' + symfony-version: '6.4' # Fix - behat/gherkin => Avoid issue with behat <-> gherkin packages (See https://github.com/Behat/Gherkin/issues/317) pkg-extra-constraints: --with 'behat/gherkin:~4.12.0' - job-name: Bare minimum # => Lowest versions allowed by composer config php-version: '${{ needs.fetch-supported-versions.outputs.php-min }}' symfony-version: '${{ needs.fetch-supported-versions.outputs.symfony-min }}' - - job-name: Bare minimum - Sf 5.4 case - php-version: '${{ needs.fetch-supported-versions.outputs.php-min }}' - symfony-version: '5.4' - - job-name: Late PHP migration # => Highest symfony version with lowest php version allowed by composer config + - job-name: Bare minimum - Sf 6.4 case # Fix - Sf 6.4 require php 8.1 minimum ! - 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 }} + php-version: ${{ ( needs.fetch-supported-versions.outputs.php-min == '8.0' ) && '8.1' || needs.fetch-supported-versions.outputs.php-min }} + symfony-version: '6.4' + - job-name: Late PHP migration # => Highest symfony version with lowest php version allowed by composer config + # Fix - Sf 7.0 require php 8.1 minimum, most of deps require 8.2 ! + 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 }} symfony-version: '${{ needs.fetch-supported-versions.outputs.symfony-max }}' - job-name: Late Symfony migration # => Lowest symfony version with highest php version allowed by composer config php-version: '${{ needs.fetch-supported-versions.outputs.php-max }}' symfony-version: '${{ needs.fetch-supported-versions.outputs.symfony-min }}' # Fix - behat/gherkin => Avoid issue with behat <-> gherkin packages (See https://github.com/Behat/Gherkin/issues/317) - pkg-extra-constraints: --with 'behat/gherkin:~4.12.0' + # Fix - symfony/yaml => Avoid issue between symfony/yaml and symfony/framework-bundle (not compatible with some versions due to incomplete function signatures) + pkg-extra-constraints: --with 'behat/gherkin:~4.12.0' ${{ ( needs.fetch-supported-versions.outputs.symfony-min == '5.4' && needs.fetch-supported-versions.outputs.php-max == '8.4' ) && '--with "symfony/yaml:~6.4.0"' || '' }} steps: - name: Check out code uses: actions/checkout@v5 @@ -248,20 +250,19 @@ jobs: php-version: ${{ needs.fetch-supported-versions.outputs.php-next }} symfony-version: ${{ needs.fetch-supported-versions.outputs.symfony-min }} # Fix - behat/gherkin => Avoid issue with behat <-> gherkin packages (See https://github.com/Behat/Gherkin/issues/317) - pkg-extra-constraints: behat/gherkin:~4.12.0 + # Fix - symfony/yaml => Avoid issue between symfony/yaml and symfony/framework-bundle (not compatible with some versions due to incomplete function signatures) + pkg-extra-constraints: behat/gherkin:~4.12.0 ${{ ( needs.fetch-supported-versions.outputs.symfony-min == '5.4' && needs.fetch-supported-versions.outputs.php-next == '8.5' ) && 'symfony/yaml:~6.4.0' || '' }} - job-name: Symfony with highest supported PHP version php-version: ${{ needs.fetch-supported-versions.outputs.php-max }} symfony-version: ${{ needs.fetch-supported-versions.outputs.symfony-next }} # Fix - behat/gherkin => Avoid issue with behat <-> gherkin packages (See https://github.com/Behat/Gherkin/issues/317) - # Fix - symfony/framework-bundle - Framework bundle <7.0 require php 8.1 minimum ! - pkg-extra-constraints: behat/gherkin:~4.12.0 ${{ ( needs.fetch-supported-versions.outputs.symfony-next == '7.0' && needs.fetch-supported-versions.outputs.php-max == '8.4' ) && 'symfony/framework-bundle:~7.0.0@dev' || '' }} + pkg-extra-constraints: behat/gherkin:~4.12.0 - job-name: Symfony with lowest supported PHP version - # Fix - Sf 7.0 require php 8.1 minimum, most of deps require 8.2 ! - 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 }} + # Fix - Sf 7.1 require php 8.2 minimum ! + 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 }} symfony-version: ${{ needs.fetch-supported-versions.outputs.symfony-next }} # Fix - behat/gherkin => Avoid issue with behat <-> gherkin packages (See https://github.com/Behat/Gherkin/issues/317) - # Fix - symfony/framework-bundle - Framework bundle <7.0 require php 8.1 minimum ! - pkg-extra-constraints: behat/gherkin:~4.12.0 ${{ ( needs.fetch-supported-versions.outputs.symfony-next == '7.0' && needs.fetch-supported-versions.outputs.php-min == '8.0' ) && 'symfony/framework-bundle:~7.0.0@dev' || '' }} + pkg-extra-constraints: behat/gherkin:~4.12.0 steps: - name: Check out code diff --git a/.github/workflows/supported-versions.json b/.github/workflows/supported-versions.json index 9a11141..fefdd3a 100644 --- a/.github/workflows/supported-versions.json +++ b/.github/workflows/supported-versions.json @@ -1,4 +1,4 @@ { "php": {"min": "8.0", "max": "8.4", "next": "8.5"}, - "symfony": {"min": "4.4", "max": "6.4", "next": "7.0"} + "symfony": {"min": "5.4", "max": "7.0", "next": "7.1"} } diff --git a/composer.json b/composer.json index d0a148f..39b198e 100644 --- a/composer.json +++ b/composer.json @@ -34,11 +34,11 @@ "require": { "php": "^8.0", "ext-json": "*", - "symfony/config": "^4.4 || ^5.4 || ^6.0", - "symfony/dependency-injection": "^4.4 || ^5.4 || ^6.0", - "symfony/event-dispatcher-contracts": "^1.0 || ^2.0", - "symfony/http-foundation": "^4.4 || ^5.4 || ^6.0", - "symfony/http-kernel": "^4.4 || ^5.4 || ^6.0", + "symfony/config": "^5.4 || ^6.0 || ^7.0", + "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0", + "symfony/event-dispatcher-contracts": "^2.0 || ^3.0", + "symfony/http-foundation": "^5.4 || ^6.0 || ^7.0", + "symfony/http-kernel": "^5.4 || ^6.0 || ^7.0", "yoanm/jsonrpc-server-doc-sdk": "^0.3 || ^1.0", "yoanm/jsonrpc-server-sdk": "^3.3", "yoanm/symfony-jsonrpc-http-server": "^3.3" @@ -53,8 +53,8 @@ "phpunit/php-code-coverage": "^9.2.4", "phpunit/phpunit": "^9.0", "squizlabs/php_codesniffer": "^3.5", - "symfony/framework-bundle": "^4.4 || ^5.4 || ^6.0", - "symfony/routing": "^4.4 || ^5.4 || ^6.0", + "symfony/framework-bundle": "^5.4 || ^6.0 || ^7.0", + "symfony/routing": "^5.4 || ^6.0 || ^7.0", "yoanm/php-unit-extended": "^2.0.2" }, "config": { From 3feebd63ef6f2f221bac487c77fc17ef6632f581 Mon Sep 17 00:00:00 2001 From: Yoanm <4410697+yoanm@users.noreply.github.com> Date: Wed, 3 Sep 2025 15:06:07 +0200 Subject: [PATCH 2/8] Fix --- .github/workflows/reusable-CI-workflow.yml | 6 ++++++ composer.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-CI-workflow.yml b/.github/workflows/reusable-CI-workflow.yml index 57fa8dd..357833a 100644 --- a/.github/workflows/reusable-CI-workflow.yml +++ b/.github/workflows/reusable-CI-workflow.yml @@ -130,6 +130,8 @@ jobs: --with "symfony/dependency-injection:${SF_CONSTRAINT}" \ --with "symfony/http-foundation:${SF_CONSTRAINT}" \ --with "symfony/http-kernel:${SF_CONSTRAINT}" \ + # TODO - !! REMOVE the following - only there for test purpose until branch is merged !! + --with "symfony/http-kernel:dev-feature/increase-supported-versions-sf7.0" \ ${{ matrix.pkg-extra-constraints }} \ && make build @@ -218,6 +220,8 @@ jobs: --with "symfony/dependency-injection:${SF_CONSTRAINT}" \ --with "symfony/http-foundation:${SF_CONSTRAINT}" \ --with "symfony/http-kernel:${SF_CONSTRAINT}" \ + # TODO - !! REMOVE the following - only there for test purpose until branch is merged !! + --with "symfony/http-kernel:dev-feature/increase-supported-versions-sf7.0" \ && make build - name: ComposerRequireChecker @@ -302,6 +306,8 @@ jobs: symfony/dependency-injection:${SF_CONSTRAINT} \ symfony/http-foundation:${SF_CONSTRAINT} \ symfony/http-kernel:${SF_CONSTRAINT} \ + # TODO - !! REMOVE the following - only there for test purpose until branch is merged !! + symfony/http-kernel:dev-feature/increase-supported-versions-sf7.0 \ ${{ matrix.pkg-extra-constraints }} \ && make build diff --git a/composer.json b/composer.json index 39b198e..0dcd2bf 100644 --- a/composer.json +++ b/composer.json @@ -41,7 +41,7 @@ "symfony/http-kernel": "^5.4 || ^6.0 || ^7.0", "yoanm/jsonrpc-server-doc-sdk": "^0.3 || ^1.0", "yoanm/jsonrpc-server-sdk": "^3.3", - "yoanm/symfony-jsonrpc-http-server": "^3.3" + "yoanm/symfony-jsonrpc-http-server": "^3.3 || dev-feature/increase-supported-versions-sf7.0" }, "require-dev": { "behat/behat": "^3.9.0,<=3.16.1", From 643b65305b3024a6df06a4e7b50349810c4e4067 Mon Sep 17 00:00:00 2001 From: Yoanm <4410697+yoanm@users.noreply.github.com> Date: Wed, 3 Sep 2025 15:16:21 +0200 Subject: [PATCH 3/8] Fix --- .github/workflows/reusable-CI-workflow.yml | 9 +++------ composer.json | 4 ++-- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/reusable-CI-workflow.yml b/.github/workflows/reusable-CI-workflow.yml index 357833a..cff570d 100644 --- a/.github/workflows/reusable-CI-workflow.yml +++ b/.github/workflows/reusable-CI-workflow.yml @@ -130,8 +130,7 @@ jobs: --with "symfony/dependency-injection:${SF_CONSTRAINT}" \ --with "symfony/http-foundation:${SF_CONSTRAINT}" \ --with "symfony/http-kernel:${SF_CONSTRAINT}" \ - # TODO - !! REMOVE the following - only there for test purpose until branch is merged !! - --with "symfony/http-kernel:dev-feature/increase-supported-versions-sf7.0" \ + --with "yoanm/symfony-jsonrpc-http-server:dev-feature/increase-supported-versions-sf7.0" \ ${{ matrix.pkg-extra-constraints }} \ && make build @@ -220,8 +219,7 @@ jobs: --with "symfony/dependency-injection:${SF_CONSTRAINT}" \ --with "symfony/http-foundation:${SF_CONSTRAINT}" \ --with "symfony/http-kernel:${SF_CONSTRAINT}" \ - # TODO - !! REMOVE the following - only there for test purpose until branch is merged !! - --with "symfony/http-kernel:dev-feature/increase-supported-versions-sf7.0" \ + --with "yoanm/symfony-jsonrpc-http-server:dev-feature/increase-supported-versions-sf7.0" \ && make build - name: ComposerRequireChecker @@ -306,8 +304,7 @@ jobs: symfony/dependency-injection:${SF_CONSTRAINT} \ symfony/http-foundation:${SF_CONSTRAINT} \ symfony/http-kernel:${SF_CONSTRAINT} \ - # TODO - !! REMOVE the following - only there for test purpose until branch is merged !! - symfony/http-kernel:dev-feature/increase-supported-versions-sf7.0 \ + yoanm/symfony-jsonrpc-http-server:dev-feature/increase-supported-versions-sf7.0 \ ${{ matrix.pkg-extra-constraints }} \ && make build diff --git a/composer.json b/composer.json index 0dcd2bf..fc0f9f1 100644 --- a/composer.json +++ b/composer.json @@ -46,8 +46,8 @@ "require-dev": { "behat/behat": "^3.9.0,<=3.16.1", "dvdoug/behat-code-coverage": "^5.0", - "matthiasnoback/symfony-config-test": "^4.0", - "matthiasnoback/symfony-dependency-injection-test": "^4.0", + "matthiasnoback/symfony-config-test": "^4.0 || ^5.0", + "matthiasnoback/symfony-dependency-injection-test": "^4.0 || ^5.0", "phpspec/prophecy": "^1.15", "phpspec/prophecy-phpunit": "^2.0", "phpunit/php-code-coverage": "^9.2.4", From e04dd27f12b44c2afcf398fee0734f3a665e3614 Mon Sep 17 00:00:00 2001 From: Yoanm <4410697+yoanm@users.noreply.github.com> Date: Wed, 3 Sep 2025 15:30:30 +0200 Subject: [PATCH 4/8] Trigger CI From 1d1df8b86ee76be7ec08ec3f2caca7370696708b Mon Sep 17 00:00:00 2001 From: Yoanm <4410697+yoanm@users.noreply.github.com> Date: Wed, 3 Sep 2025 15:32:51 +0200 Subject: [PATCH 5/8] Fix --- src/DependencyInjection/Configuration.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DependencyInjection/Configuration.php b/src/DependencyInjection/Configuration.php index 259fbf5..09ca1a7 100644 --- a/src/DependencyInjection/Configuration.php +++ b/src/DependencyInjection/Configuration.php @@ -13,7 +13,7 @@ class Configuration implements ConfigurationInterface /** * {@inheritdoc} */ - public function getConfigTreeBuilder() + public function getConfigTreeBuilder(): TreeBuilder { $treeBuilder = new TreeBuilder(JsonRpcHttpServerDocExtension::EXTENSION_IDENTIFIER); From 382fa9f4e19439cf4977f0fa20fc324dfbe0697d Mon Sep 17 00:00:00 2001 From: Yoanm <4410697+yoanm@users.noreply.github.com> Date: Wed, 3 Sep 2025 15:36:38 +0200 Subject: [PATCH 6/8] Remove band-aid --- .github/workflows/reusable-CI-workflow.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/reusable-CI-workflow.yml b/.github/workflows/reusable-CI-workflow.yml index cff570d..57fa8dd 100644 --- a/.github/workflows/reusable-CI-workflow.yml +++ b/.github/workflows/reusable-CI-workflow.yml @@ -130,7 +130,6 @@ jobs: --with "symfony/dependency-injection:${SF_CONSTRAINT}" \ --with "symfony/http-foundation:${SF_CONSTRAINT}" \ --with "symfony/http-kernel:${SF_CONSTRAINT}" \ - --with "yoanm/symfony-jsonrpc-http-server:dev-feature/increase-supported-versions-sf7.0" \ ${{ matrix.pkg-extra-constraints }} \ && make build @@ -219,7 +218,6 @@ jobs: --with "symfony/dependency-injection:${SF_CONSTRAINT}" \ --with "symfony/http-foundation:${SF_CONSTRAINT}" \ --with "symfony/http-kernel:${SF_CONSTRAINT}" \ - --with "yoanm/symfony-jsonrpc-http-server:dev-feature/increase-supported-versions-sf7.0" \ && make build - name: ComposerRequireChecker @@ -304,7 +302,6 @@ jobs: symfony/dependency-injection:${SF_CONSTRAINT} \ symfony/http-foundation:${SF_CONSTRAINT} \ symfony/http-kernel:${SF_CONSTRAINT} \ - yoanm/symfony-jsonrpc-http-server:dev-feature/increase-supported-versions-sf7.0 \ ${{ matrix.pkg-extra-constraints }} \ && make build From c356db20af94d2fe4df9c1cdda384635ef9831f4 Mon Sep 17 00:00:00 2001 From: Yoanm <4410697+yoanm@users.noreply.github.com> Date: Wed, 3 Sep 2025 16:25:58 +0200 Subject: [PATCH 7/8] Fix --- composer.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/composer.json b/composer.json index fc0f9f1..7f30209 100644 --- a/composer.json +++ b/composer.json @@ -34,11 +34,11 @@ "require": { "php": "^8.0", "ext-json": "*", - "symfony/config": "^5.4 || ^6.0 || ^7.0", - "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0", + "symfony/config": "^5.4 || ^6.4 || ^7.0", + "symfony/dependency-injection": "^5.4 || ^6.4 || ^7.0", "symfony/event-dispatcher-contracts": "^2.0 || ^3.0", - "symfony/http-foundation": "^5.4 || ^6.0 || ^7.0", - "symfony/http-kernel": "^5.4 || ^6.0 || ^7.0", + "symfony/http-foundation": "^5.4 || ^6.4 || ^7.0", + "symfony/http-kernel": "^5.4 || ^6.4 || ^7.0", "yoanm/jsonrpc-server-doc-sdk": "^0.3 || ^1.0", "yoanm/jsonrpc-server-sdk": "^3.3", "yoanm/symfony-jsonrpc-http-server": "^3.3 || dev-feature/increase-supported-versions-sf7.0" @@ -53,8 +53,8 @@ "phpunit/php-code-coverage": "^9.2.4", "phpunit/phpunit": "^9.0", "squizlabs/php_codesniffer": "^3.5", - "symfony/framework-bundle": "^5.4 || ^6.0 || ^7.0", - "symfony/routing": "^5.4 || ^6.0 || ^7.0", + "symfony/framework-bundle": "^5.4 || ^6.4 || ^7.0", + "symfony/routing": "^5.4 || ^6.4 || ^7.0", "yoanm/php-unit-extended": "^2.0.2" }, "config": { From 749ba4505f3b80c04bc8f63b5000024ed8ee1e42 Mon Sep 17 00:00:00 2001 From: Yoanm <4410697+yoanm@users.noreply.github.com> Date: Wed, 3 Sep 2025 17:42:25 +0200 Subject: [PATCH 8/8] Move to actual version --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 7f30209..4b6d70e 100644 --- a/composer.json +++ b/composer.json @@ -41,7 +41,7 @@ "symfony/http-kernel": "^5.4 || ^6.4 || ^7.0", "yoanm/jsonrpc-server-doc-sdk": "^0.3 || ^1.0", "yoanm/jsonrpc-server-sdk": "^3.3", - "yoanm/symfony-jsonrpc-http-server": "^3.3 || dev-feature/increase-supported-versions-sf7.0" + "yoanm/symfony-jsonrpc-http-server": "^3.3 || ^4.0" }, "require-dev": { "behat/behat": "^3.9.0,<=3.16.1",