From ee4f750da23db5aad3dc5e74f0083b5bb61d99d6 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Nahan <814683+macintoshplus@users.noreply.github.com> Date: Wed, 7 Dec 2022 10:57:01 +0100 Subject: [PATCH] Update Action for Sylius 1.12 (#5) Update Action for Sylius 1.12 Co-authored-by: jb cr <51637606+jbcr@users.noreply.github.com> --- .github/workflows/build.yml | 29 ++++++++++++++----- composer.json | 4 +-- .../JbDevLabsSyliusCliContextExtension.php | 2 +- tests/Application/Kernel.php | 11 +++---- tests/Application/config/bootstrap.php | 9 +++++- tests/Application/config/bundles.php | 1 - .../config/sylius/1.10/bundles.php | 1 + .../1.10}/packages/dev/swiftmailer.yaml | 0 .../1.10}/packages/swiftmailer.yaml | 0 .../1.10}/packages/test/framework.yaml | 1 + .../1.10}/packages/test/security.yaml | 0 .../1.10}/packages/test/swiftmailer.yaml | 0 .../config/sylius/1.11/bundles.php | 1 + .../sylius/1.11/packages/dev/swiftmailer.yaml | 2 ++ .../sylius/1.11/packages/swiftmailer.yaml | 2 ++ .../sylius/1.11/packages/test/framework.yaml | 5 ++++ .../sylius/1.11/packages/test/security.yaml | 3 ++ .../1.11/packages/test/swiftmailer.yaml | 6 ++++ .../config/sylius/1.12/bundles.php | 6 ++++ .../config/sylius/1.12/packages/security.yaml | 22 ++++++++++++++ .../sylius/1.12/packages/test/framework.yaml | 5 ++++ .../sylius/1.12/packages/test/mailer.yaml | 5 ++++ .../sylius/1.12/packages/test/security.yaml | 6 ++++ .../Application/config/sylius/1.9/bundles.php | 1 + .../sylius/1.9/packages/dev/swiftmailer.yaml | 2 ++ .../sylius/1.9/packages/swiftmailer.yaml | 2 ++ .../sylius/1.9/packages/test/framework.yaml | 5 ++++ .../sylius/1.9/packages/test/security.yaml | 3 ++ .../sylius/1.9/packages/test/swiftmailer.yaml | 6 ++++ 29 files changed, 122 insertions(+), 18 deletions(-) rename tests/Application/config/{ => sylius/1.10}/packages/dev/swiftmailer.yaml (100%) rename tests/Application/config/{ => sylius/1.10}/packages/swiftmailer.yaml (100%) rename tests/Application/config/{ => sylius/1.10}/packages/test/framework.yaml (56%) rename tests/Application/config/{ => sylius/1.10}/packages/test/security.yaml (100%) rename tests/Application/config/{ => sylius/1.10}/packages/test/swiftmailer.yaml (100%) create mode 100644 tests/Application/config/sylius/1.11/packages/dev/swiftmailer.yaml create mode 100644 tests/Application/config/sylius/1.11/packages/swiftmailer.yaml create mode 100644 tests/Application/config/sylius/1.11/packages/test/framework.yaml create mode 100644 tests/Application/config/sylius/1.11/packages/test/security.yaml create mode 100644 tests/Application/config/sylius/1.11/packages/test/swiftmailer.yaml create mode 100644 tests/Application/config/sylius/1.12/bundles.php create mode 100644 tests/Application/config/sylius/1.12/packages/security.yaml create mode 100644 tests/Application/config/sylius/1.12/packages/test/framework.yaml create mode 100644 tests/Application/config/sylius/1.12/packages/test/mailer.yaml create mode 100644 tests/Application/config/sylius/1.12/packages/test/security.yaml create mode 100644 tests/Application/config/sylius/1.9/packages/dev/swiftmailer.yaml create mode 100644 tests/Application/config/sylius/1.9/packages/swiftmailer.yaml create mode 100644 tests/Application/config/sylius/1.9/packages/test/framework.yaml create mode 100644 tests/Application/config/sylius/1.9/packages/test/security.yaml create mode 100644 tests/Application/config/sylius/1.9/packages/test/swiftmailer.yaml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 14471d2..b035fd7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,15 +15,13 @@ on: jobs: tests: runs-on: ubuntu-18.04 - name: "Sylius ${{ matrix.sylius }}, PHP ${{ matrix.php }}, Symfony ${{ matrix.symfony }}, MySQL ${{ matrix.mysql }}" - strategy: fail-fast: false matrix: php: ["8.1", "8.0", "7.4"] - symfony: ["^5.2"] - sylius: ["~1.9.0", "~1.10.0", "~1.11.0"] + symfony: ["^5.4", "^6.0"] + sylius: ["~1.9.0", "~1.10.0", "~1.11.0", "~1.12.0"] # node: ["12.x"] mysql: ["8.0"] @@ -40,6 +38,18 @@ jobs: - php: "7.4" sylius: "~1.11.0" + - + php: "7.4" + sylius: "~1.12.0" + - + sylius: "~1.9.0" + symfony: "^6.0" + - + sylius: "~1.10.0" + symfony: "^6.0" + - + sylius: "~1.11.0" + symfony: "^6.0" env: @@ -48,7 +58,7 @@ jobs: steps: - - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Setup PHP @@ -96,11 +106,11 @@ jobs: - name: Get Composer cache directory id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - name: Cache Composer - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-php-${{ matrix.php }}-composer-${{ hashFiles('**/composer.json **/composer.lock') }} @@ -119,7 +129,10 @@ jobs: name: Restrict Sylius version if: matrix.sylius != '' run: composer require "sylius/sylius:${{ matrix.sylius }}" --no-update --no-scripts --no-interaction - + - + name: Remove FOS OAuth Server + if: matrix.sylius == '~1.12.0' + run: composer remove "friendsofsymfony/oauth-server-bundle" --dev --no-update --no-scripts --no-interaction - name: Install PHP dependencies run: composer install --no-interaction diff --git a/composer.json b/composer.json index 1312f20..714bacd 100644 --- a/composer.json +++ b/composer.json @@ -9,7 +9,7 @@ "license": "MIT", "require": { "php": ">=7.4", - "sylius/sylius": "~1.9.0 || ~1.10.0 || ~1.11.0 || ~1.12.0" + "sylius/sylius": "~1.12.0" }, "require-dev": { "behat/behat": "^3.6.1", @@ -38,7 +38,7 @@ "symfony/intl": "^4.4 || ^5.4 || ^6.0", "symfony/web-profiler-bundle": "^4.4 || ^5.4 || ^6.0", "symfony/webpack-encore-bundle": "^1.12", - "vimeo/psalm": "4.7.1", + "vimeo/psalm": "4.7.1||^5.0", "polishsymfonycommunity/symfony-mocker-container": "^1.0" }, "config": { diff --git a/src/DependencyInjection/JbDevLabsSyliusCliContextExtension.php b/src/DependencyInjection/JbDevLabsSyliusCliContextExtension.php index 3e8ff52..cb6cfd3 100644 --- a/src/DependencyInjection/JbDevLabsSyliusCliContextExtension.php +++ b/src/DependencyInjection/JbDevLabsSyliusCliContextExtension.php @@ -34,7 +34,7 @@ public function load(array $configs, ContainerBuilder $container): void $container->setParameter('jb_dev_labs_sylius_cli_context.config', $config); $loader = new PhpFileLoader($container, new FileLocator(__DIR__ . '/../../config')); - + /** @psalm-suppress ReservedWord */ $loader->load('services.php'); } diff --git a/tests/Application/Kernel.php b/tests/Application/Kernel.php index e8d6fcd..93a890e 100644 --- a/tests/Application/Kernel.php +++ b/tests/Application/Kernel.php @@ -12,6 +12,7 @@ use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpKernel\Bundle\BundleInterface; use Symfony\Component\HttpKernel\Kernel as BaseKernel; +use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator; use Symfony\Component\Routing\RouteCollectionBuilder; final class Kernel extends BaseKernel @@ -58,7 +59,7 @@ protected function configureContainer(ContainerBuilder $container, LoaderInterfa } } - protected function configureRoutes(RouteCollectionBuilder $routes): void + protected function configureRoutes(RoutingConfigurator $routes): void { foreach ($this->getConfigurationDirectories() as $confDir) { $this->loadRoutesConfiguration($routes, $confDir); @@ -87,11 +88,11 @@ private function loadContainerConfiguration(LoaderInterface $loader, string $con $loader->load($confDir . '/{services}_' . $this->environment . self::CONFIG_EXTS, 'glob'); } - private function loadRoutesConfiguration(RouteCollectionBuilder $routes, string $confDir): void + private function loadRoutesConfiguration(RoutingConfigurator $routes, string $confDir): void { - $routes->import($confDir . '/{routes}/*' . self::CONFIG_EXTS, '/', 'glob'); - $routes->import($confDir . '/{routes}/' . $this->environment . '/**/*' . self::CONFIG_EXTS, '/', 'glob'); - $routes->import($confDir . '/{routes}' . self::CONFIG_EXTS, '/', 'glob'); + $routes->import($confDir . '/{routes}/*' . self::CONFIG_EXTS); + $routes->import($confDir . '/{routes}/' . $this->environment . '/**/*' . self::CONFIG_EXTS); + $routes->import($confDir . '/{routes}' . self::CONFIG_EXTS); } /** diff --git a/tests/Application/config/bootstrap.php b/tests/Application/config/bootstrap.php index e23eca0..6e6acbb 100644 --- a/tests/Application/config/bootstrap.php +++ b/tests/Application/config/bootstrap.php @@ -15,7 +15,14 @@ throw new RuntimeException('Please run "composer require symfony/dotenv" to load the ".env" files configuring the application.'); } else { // load all the .env files - (new Dotenv(true))->loadEnv(dirname(__DIR__) . '/.env'); + if (method_exists(DotEnv::class, 'usePutenv')) { + $dotEnv = new DotEnv(); + $dotEnv->usePutenv(true); + } else { + $dotEnv = new DotEnv(true); + } + + $dotEnv->loadEnv(dirname(__DIR__) . '/.env'); } $_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? null) ?: 'dev'; diff --git a/tests/Application/config/bundles.php b/tests/Application/config/bundles.php index 09d17cf..01d9d1a 100644 --- a/tests/Application/config/bundles.php +++ b/tests/Application/config/bundles.php @@ -4,7 +4,6 @@ Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true], Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true], Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true], - Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true], Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true], Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true], Sylius\Bundle\OrderBundle\SyliusOrderBundle::class => ['all' => true], diff --git a/tests/Application/config/sylius/1.10/bundles.php b/tests/Application/config/sylius/1.10/bundles.php index bd33f4a..7109dc2 100644 --- a/tests/Application/config/sylius/1.10/bundles.php +++ b/tests/Application/config/sylius/1.10/bundles.php @@ -3,4 +3,5 @@ return [ BabDev\PagerfantaBundle\BabDevPagerfantaBundle::class => ['all' => true], SyliusLabs\Polyfill\Symfony\Security\Bundle\SyliusLabsPolyfillSymfonySecurityBundle::class => ['all' => true], + Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true], ]; diff --git a/tests/Application/config/packages/dev/swiftmailer.yaml b/tests/Application/config/sylius/1.10/packages/dev/swiftmailer.yaml similarity index 100% rename from tests/Application/config/packages/dev/swiftmailer.yaml rename to tests/Application/config/sylius/1.10/packages/dev/swiftmailer.yaml diff --git a/tests/Application/config/packages/swiftmailer.yaml b/tests/Application/config/sylius/1.10/packages/swiftmailer.yaml similarity index 100% rename from tests/Application/config/packages/swiftmailer.yaml rename to tests/Application/config/sylius/1.10/packages/swiftmailer.yaml diff --git a/tests/Application/config/packages/test/framework.yaml b/tests/Application/config/sylius/1.10/packages/test/framework.yaml similarity index 56% rename from tests/Application/config/packages/test/framework.yaml rename to tests/Application/config/sylius/1.10/packages/test/framework.yaml index 76d7e5e..46e9c85 100644 --- a/tests/Application/config/packages/test/framework.yaml +++ b/tests/Application/config/sylius/1.10/packages/test/framework.yaml @@ -2,3 +2,4 @@ framework: test: ~ session: storage_id: session.storage.mock_file +# storage_factory_id: session.storage.factory.mock_file \ No newline at end of file diff --git a/tests/Application/config/packages/test/security.yaml b/tests/Application/config/sylius/1.10/packages/test/security.yaml similarity index 100% rename from tests/Application/config/packages/test/security.yaml rename to tests/Application/config/sylius/1.10/packages/test/security.yaml diff --git a/tests/Application/config/packages/test/swiftmailer.yaml b/tests/Application/config/sylius/1.10/packages/test/swiftmailer.yaml similarity index 100% rename from tests/Application/config/packages/test/swiftmailer.yaml rename to tests/Application/config/sylius/1.10/packages/test/swiftmailer.yaml diff --git a/tests/Application/config/sylius/1.11/bundles.php b/tests/Application/config/sylius/1.11/bundles.php index ce7c123..2f7f7c3 100644 --- a/tests/Application/config/sylius/1.11/bundles.php +++ b/tests/Application/config/sylius/1.11/bundles.php @@ -4,4 +4,5 @@ BabDev\PagerfantaBundle\BabDevPagerfantaBundle::class => ['all' => true], SyliusLabs\Polyfill\Symfony\Security\Bundle\SyliusLabsPolyfillSymfonySecurityBundle::class => ['all' => true], Sylius\Calendar\SyliusCalendarBundle::class => ['all' => true], + Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true], ]; diff --git a/tests/Application/config/sylius/1.11/packages/dev/swiftmailer.yaml b/tests/Application/config/sylius/1.11/packages/dev/swiftmailer.yaml new file mode 100644 index 0000000..f438078 --- /dev/null +++ b/tests/Application/config/sylius/1.11/packages/dev/swiftmailer.yaml @@ -0,0 +1,2 @@ +swiftmailer: + disable_delivery: true diff --git a/tests/Application/config/sylius/1.11/packages/swiftmailer.yaml b/tests/Application/config/sylius/1.11/packages/swiftmailer.yaml new file mode 100644 index 0000000..3bab0d3 --- /dev/null +++ b/tests/Application/config/sylius/1.11/packages/swiftmailer.yaml @@ -0,0 +1,2 @@ +swiftmailer: + url: '%env(MAILER_URL)%' diff --git a/tests/Application/config/sylius/1.11/packages/test/framework.yaml b/tests/Application/config/sylius/1.11/packages/test/framework.yaml new file mode 100644 index 0000000..46e9c85 --- /dev/null +++ b/tests/Application/config/sylius/1.11/packages/test/framework.yaml @@ -0,0 +1,5 @@ +framework: + test: ~ + session: + storage_id: session.storage.mock_file +# storage_factory_id: session.storage.factory.mock_file \ No newline at end of file diff --git a/tests/Application/config/sylius/1.11/packages/test/security.yaml b/tests/Application/config/sylius/1.11/packages/test/security.yaml new file mode 100644 index 0000000..21cc377 --- /dev/null +++ b/tests/Application/config/sylius/1.11/packages/test/security.yaml @@ -0,0 +1,3 @@ +security: + encoders: + sha512: sha512 diff --git a/tests/Application/config/sylius/1.11/packages/test/swiftmailer.yaml b/tests/Application/config/sylius/1.11/packages/test/swiftmailer.yaml new file mode 100644 index 0000000..c438f4b --- /dev/null +++ b/tests/Application/config/sylius/1.11/packages/test/swiftmailer.yaml @@ -0,0 +1,6 @@ +swiftmailer: + disable_delivery: true + logging: true + spool: + type: file + path: "%kernel.cache_dir%/spool" diff --git a/tests/Application/config/sylius/1.12/bundles.php b/tests/Application/config/sylius/1.12/bundles.php new file mode 100644 index 0000000..ab0e477 --- /dev/null +++ b/tests/Application/config/sylius/1.12/bundles.php @@ -0,0 +1,6 @@ + ['all' => true], + Sylius\Calendar\SyliusCalendarBundle::class => ['all' => true], +]; diff --git a/tests/Application/config/sylius/1.12/packages/security.yaml b/tests/Application/config/sylius/1.12/packages/security.yaml new file mode 100644 index 0000000..2d8b173 --- /dev/null +++ b/tests/Application/config/sylius/1.12/packages/security.yaml @@ -0,0 +1,22 @@ +security: + enable_authenticator_manager: true + providers: + sylius_admin_user_provider: + id: sylius.admin_user_provider.email_or_name_based + sylius_api_admin_user_provider: + id: sylius.admin_user_provider.email_or_name_based + sylius_shop_user_provider: + id: sylius.shop_user_provider.email_or_name_based + sylius_api_shop_user_provider: + id: sylius.shop_user_provider.email_or_name_based + password_hashers: + Sylius\Component\User\Model\UserInterface: argon2i + firewalls: + main: + security: false + admin: + security: false + shop: + context: shop + pattern: "%sylius.security.shop_regex%" + provider: sylius_shop_user_provider diff --git a/tests/Application/config/sylius/1.12/packages/test/framework.yaml b/tests/Application/config/sylius/1.12/packages/test/framework.yaml new file mode 100644 index 0000000..d46086b --- /dev/null +++ b/tests/Application/config/sylius/1.12/packages/test/framework.yaml @@ -0,0 +1,5 @@ +framework: + test: ~ + session: +# storage_id: session.storage.mock_file + storage_factory_id: session.storage.factory.mock_file \ No newline at end of file diff --git a/tests/Application/config/sylius/1.12/packages/test/mailer.yaml b/tests/Application/config/sylius/1.12/packages/test/mailer.yaml new file mode 100644 index 0000000..4e4eda2 --- /dev/null +++ b/tests/Application/config/sylius/1.12/packages/test/mailer.yaml @@ -0,0 +1,5 @@ +framework: + cache: + pools: + test.mailer_pool: + adapter: cache.adapter.filesystem \ No newline at end of file diff --git a/tests/Application/config/sylius/1.12/packages/test/security.yaml b/tests/Application/config/sylius/1.12/packages/test/security.yaml new file mode 100644 index 0000000..4071d31 --- /dev/null +++ b/tests/Application/config/sylius/1.12/packages/test/security.yaml @@ -0,0 +1,6 @@ +security: + password_hashers: + Sylius\Component\User\Model\UserInterface: + algorithm: argon2i + time_cost: 3 + memory_cost: 10 diff --git a/tests/Application/config/sylius/1.9/bundles.php b/tests/Application/config/sylius/1.9/bundles.php index 66f523d..0163f58 100644 --- a/tests/Application/config/sylius/1.9/bundles.php +++ b/tests/Application/config/sylius/1.9/bundles.php @@ -5,4 +5,5 @@ SyliusLabs\Polyfill\Symfony\Security\Bundle\SyliusLabsPolyfillSymfonySecurityBundle::class => ['all' => true], FOS\OAuthServerBundle\FOSOAuthServerBundle::class => ['all' => true], Sylius\Bundle\AdminApiBundle\SyliusAdminApiBundle::class => ['all' => true], + Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true], ]; diff --git a/tests/Application/config/sylius/1.9/packages/dev/swiftmailer.yaml b/tests/Application/config/sylius/1.9/packages/dev/swiftmailer.yaml new file mode 100644 index 0000000..f438078 --- /dev/null +++ b/tests/Application/config/sylius/1.9/packages/dev/swiftmailer.yaml @@ -0,0 +1,2 @@ +swiftmailer: + disable_delivery: true diff --git a/tests/Application/config/sylius/1.9/packages/swiftmailer.yaml b/tests/Application/config/sylius/1.9/packages/swiftmailer.yaml new file mode 100644 index 0000000..3bab0d3 --- /dev/null +++ b/tests/Application/config/sylius/1.9/packages/swiftmailer.yaml @@ -0,0 +1,2 @@ +swiftmailer: + url: '%env(MAILER_URL)%' diff --git a/tests/Application/config/sylius/1.9/packages/test/framework.yaml b/tests/Application/config/sylius/1.9/packages/test/framework.yaml new file mode 100644 index 0000000..46e9c85 --- /dev/null +++ b/tests/Application/config/sylius/1.9/packages/test/framework.yaml @@ -0,0 +1,5 @@ +framework: + test: ~ + session: + storage_id: session.storage.mock_file +# storage_factory_id: session.storage.factory.mock_file \ No newline at end of file diff --git a/tests/Application/config/sylius/1.9/packages/test/security.yaml b/tests/Application/config/sylius/1.9/packages/test/security.yaml new file mode 100644 index 0000000..21cc377 --- /dev/null +++ b/tests/Application/config/sylius/1.9/packages/test/security.yaml @@ -0,0 +1,3 @@ +security: + encoders: + sha512: sha512 diff --git a/tests/Application/config/sylius/1.9/packages/test/swiftmailer.yaml b/tests/Application/config/sylius/1.9/packages/test/swiftmailer.yaml new file mode 100644 index 0000000..c438f4b --- /dev/null +++ b/tests/Application/config/sylius/1.9/packages/test/swiftmailer.yaml @@ -0,0 +1,6 @@ +swiftmailer: + disable_delivery: true + logging: true + spool: + type: file + path: "%kernel.cache_dir%/spool"