Upgrade to Sylius 1.14 and adopt the 1.14.x plugin skeleton#42
Open
loevgaard wants to merge 3 commits into
Open
Upgrade to Sylius 1.14 and adopt the 1.14.x plugin skeleton#42loevgaard wants to merge 3 commits into
loevgaard wants to merge 3 commits into
Conversation
Bring dependencies, the test application, CI and tooling up to the Setono/SyliusPluginSkeleton@1.14.x standard. - composer: Sylius 1.12 -> 1.14, Symfony ^6.4 (drop 5.4), delegate dev tooling to setono/sylius-plugin-pack; declare the Sylius split packages src actually uses - tooling: PHPStan (level max, with baseline) replaces Psalm; PHPUnit replaces phpspec; composer-dependency-analyser replaces composer-require-checker; add Rector, Infection - test application: rebuilt on the 1.14 skeleton (modern Kernel, bundles, @sylius-ui/frontend assets), QuickPay config/routes/validator re-applied - CI: rewrite build.yaml (1.*.x/master/main, PHP 8.1-8.3 x SF ~6.4.0, mutation + coverage jobs), add backwards-compatibility-check workflow - housekeeping: refresh .gitattributes/.editorconfig/.gitignore, CLAUDE.md PHPStan baselines pre-existing src type issues; the winzou state-machine integration migration to Sylius\Abstraction\StateMachine is left as a follow-up.
loevgaard
commented
Jun 30, 2026
Comment on lines
+5
to
+7
| - "1.*.x" # Matches our branch versioning that mirrors Sylius', e.g. '1.12.x' | ||
| - "master" | ||
| - "main" |
Member
Author
There was a problem hiding this comment.
Suggested change
| - "1.*.x" # Matches our branch versioning that mirrors Sylius', e.g. '1.12.x' | |
| - "master" | |
| - "main" | |
| - "*.x" |
loevgaard
commented
Jun 30, 2026
| steps: | ||
| - name: "Checkout" | ||
| uses: "actions/checkout@v3" | ||
| uses: "actions/checkout@v5" |
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. Thanks for integrating Codecov - We've got you covered ☂️ |
loevgaard
commented
Jun 30, 2026
| # For a sqlite database, use: "sqlite:///%kernel.project_dir%/var/data.db" | ||
| # Set "serverVersion" to your server version to avoid edge-case exceptions and extra database calls | ||
| DATABASE_URL=mysql://root@127.0.0.1/setono_sylius_quickpay_%kernel.environment%?serverVersion=5.7 | ||
| DATABASE_URL=mysql://root@127.0.0.1/setono_sylius_quickpay_%kernel.environment%?serverVersion=8.0 |
Member
Author
There was a problem hiding this comment.
Suggested change
| DATABASE_URL=mysql://root@127.0.0.1/setono_sylius_quickpay_%kernel.environment%?serverVersion=8.0 | |
| DATABASE_URL=mysql://root@127.0.0.1/setono_sylius_quickpay_%kernel.environment%?serverVersion=11.6.2-MariaDB |
loevgaard
commented
Jun 30, 2026
| @@ -1,5 +1,5 @@ | |||
| { | |||
| "name": "sylius/plugin-skeleton-test-application", | |||
| "name": "setono/sylius-quickpay-plugin-test-application", | |||
Member
Author
There was a problem hiding this comment.
Suggested change
| "name": "setono/sylius-quickpay-plugin-test-application", | |
| "name": "setono/sylius-plugin-skeleton-test-application", |
loevgaard
commented
Jun 30, 2026
| use Setono\SyliusQuickpayPlugin\Form\Type\QuickPayGatewayConfigurationType; | ||
| use Symfony\Component\Form\FormBuilderInterface; | ||
|
|
||
| final class QuickPayGatewayConfigurationTypeTest extends TestCase |
Member
Author
There was a problem hiding this comment.
Form tests should extend Symfonys TypeTestCase
- Add KlarnaTestShopUserFixture::load() iterable-type error to the PHPStan baseline (only surfaces against the lowest fixtures-bundle parent signature) - Allow the backwards-compatibility-check to install the advisory-affected base-branch dependencies (api-platform/core) via global audit.block-insecure
Roave installs with --no-dev by default, but the plugin's Sylius parent classes/traits (SyliusPluginTrait, AbstractFixture) come from dev dependencies, so reflection failed with false "could not be found" breaks. Pass --install-development-dependencies; keep the global audit override so the advisory-pinned base branch can still be installed for the comparison.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings dependencies, the test application, CI and tooling up to the Setono/SyliusPluginSkeleton@1.14.x standard.
Highlights
^6.4(dropped 5.4), PHP>=8.1. Dev tooling delegated tosetono/sylius-plugin-pack ~1.14.1. The Sylius split packagessrc/actually uses are declared at^1.0.shipmonk/composer-dependency-analyserreplaces composer-require-checker; Rector + Infection added.@sylius-ui/frontendassets); QuickPayconfig/packages,config/routesandconfig/validator/Address.xmlre-applied.spec/(phpspec) →tests/(PHPUnit), plus DependencyInjection tests and PHPStan kernel loaders.build.yamlrewritten (triggers on1.*.x/master/main, PHP 8.1–8.3 × Symfony~6.4.0, with mutation + coverage jobs); addedbackwards-compatibility-check.yaml, issue templates and FUNDING..gitattributes/.editorconfig/.gitignoreandCLAUDE.md.Notes / follow-ups
src/type issues (phpstan-baseline.neon) — to be fixed and shrunk over time.preg_replace('@', …)pattern inKlarnaTestShopUserFixture(baselined).Sylius\Abstraction\StateMachineto support thesymfony_workflowadapter (follow-up).src/.