Skip to content

Commit

Permalink
Merge pull request #15 from SzymonKostrubiec/op-467
Browse files Browse the repository at this point in the history
OP-467 - Add fix for Sylius 1.12
  • Loading branch information
senghe authored Sep 25, 2024
2 parents 02939d9 + d5ec8ac commit 0d58a6b
Show file tree
Hide file tree
Showing 8 changed files with 136 additions and 50 deletions.
67 changes: 32 additions & 35 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ on:
release:
types: [created]
schedule:
-
cron: "0 1 * * 6" # Run at 1am every Saturday
- cron: "0 1 * * 6" # Run at 1am every Saturday
workflow_dispatch: ~

jobs:
Expand All @@ -21,12 +20,19 @@ jobs:
strategy:
fail-fast: false
matrix:
php: [ "8.1" ]
symfony: [ "5.4.*", "^6.0" ]
sylius: ["~1.12.0", "1.13.0"]
node: [ "14.x" ]
php: [ "8.0", "8.1", "8.2", "8.3" ]
symfony: [ "^5.4", "^6.4" ]
sylius: [ "^1.12", "^1.13" ]
node: [ "18.x", "20.x" ]
mysql: [ "8.0" ]

exclude:
- sylius: ^1.13
php: 8.0
- sylius: ^1.12
php: 8.0
symfony: ^6.4

env:
APP_ENV: test
DATABASE_URL: "mysql://root:[email protected]/sylius?serverVersion=${{ matrix.mysql }}"
Expand All @@ -41,12 +47,12 @@ jobs:
with:
php-version: "${{ matrix.php }}"
extensions: intl
tools: flex,symfony
tools: symfony
coverage: none

-
name: Setup Node
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: "${{ matrix.node }}"

Expand Down Expand Up @@ -80,29 +86,23 @@ jobs:
-
name: Get Composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
run: echo "::set-output name=dir::$(composer config cache-files-dir)"

-
name: Cache Composer
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-php-${{ matrix.php }}-composer-${{ hashFiles('**/composer.json **/composer.lock') }}
restore-keys: |
${{ runner.os }}-php-${{ matrix.php }}-composer-
-
name: Configure global composer
run: |
composer global config --no-plugins allow-plugins.symfony/flex true
composer global require --no-progress --no-scripts --no-plugins "symfony/flex:^2.2.2"
-
name: Restrict Symfony version
if: matrix.symfony != ''
run: |
composer global config --no-plugins allow-plugins.symfony/flex true
composer global require --no-progress --no-scripts --no-plugins "symfony/flex:^1.10"
composer config extra.symfony.require "${{ matrix.symfony }}"
-
name: Restrict Sylius version
if: matrix.sylius != ''
Expand All @@ -117,17 +117,16 @@ jobs:
-
name: Get Yarn cache directory
id: yarn-cache
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
run: echo "::set-output name=dir::$(yarn cache dir)"

-
name: Cache Yarn
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ steps.yarn-cache.outputs.dir }}
key: ${{ runner.os }}-node-${{ matrix.node }}-yarn-${{ hashFiles('**/package.json **/yarn.lock') }}
restore-keys: |
${{ runner.os }}-node-${{ matrix.node }}-yarn-
-
name: Install JS dependencies
run: (cd tests/Application && yarn install)
Expand All @@ -137,13 +136,11 @@ jobs:
run: |
(cd tests/Application && bin/console doctrine:database:create -vvv)
(cd tests/Application && bin/console doctrine:schema:create -vvv)
-
name: Prepare test application assets
run: |
(cd tests/Application && bin/console assets:install public -vvv)
(cd tests/Application && yarn build:prod)
(cd tests/Application && yarn encore dev)
-
name: Prepare test application cache
run: (cd tests/Application && bin/console cache:warmup -vvv)
Expand All @@ -154,26 +151,26 @@ jobs:

-
name: Validate composer.json
if: ${{ matrix.sylius != '1.13.0' }}
run: composer validate --ansi --strict

-
name: Validate database schema
run: (cd tests/Application && bin/console doctrine:schema:validate)

- name: Run PHPStan
run: vendor/bin/phpstan analyse -c phpstan.neon -l 8 src/

- name: Run ECS
run: vendor/bin/ecs check src

- name: Run PHPSpec
-
name: Run PHPSpec
run: vendor/bin/phpspec run --ansi -f progress --no-interaction

- name: Load fixtures in test application
-
name: Run PHPUnit
run: vendor/bin/phpunit --colors=always

-
name: Load fixtures in test application
run: (cd tests/Application && bin/console sylius:fixtures:load -n)

- name: Failed build Slack notification

-
name: Failed build Slack notification
uses: rtCamp/action-slack-notify@v2
if: ${{ failure() && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master') }}
env:
Expand Down
88 changes: 88 additions & 0 deletions .github/workflows/coding_standard.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Coding standard

on:
push:
branches-ignore:
- 'dependabot/**'
pull_request: ~
release:
types: [ created ]
workflow_dispatch: ~

jobs:
tests:
runs-on: ubuntu-latest

name: "Sylius ${{ matrix.sylius }}, PHP ${{ matrix.php }}, Symfony ${{ matrix.symfony }}"

strategy:
fail-fast: false
matrix:
php: [ "8.0", "8.1", "8.2", "8.3" ]
symfony: [ "^5.4", "^6.4" ]
sylius: [ "^1.12", "^1.13" ]
node: [ "18.x", "20.x" ]

exclude:
- sylius: ^1.13
php: 8.0
- sylius: ^1.12
php: 8.0
symfony: ^6.4

steps:
- uses: actions/checkout@v3

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: "${{ matrix.php }}"
extensions: intl
tools: symfony
coverage: none

- name: Get Composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

- name: Cache Composer
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-php-${{ matrix.php }}-composer-${{ hashFiles('**/composer.json', '**/composer.lock') }}
restore-keys: |
${{ runner.os }}-php-${{ matrix.php }}-composer-
- name: Restrict Symfony version
if: matrix.symfony != ''
run: |
composer global config --no-plugins allow-plugins.symfony/flex true
composer global require --no-progress --no-scripts --no-plugins "symfony/flex:^1.10"
composer config extra.symfony.require "${{ matrix.symfony }}"
- name: Restrict Sylius version
if: matrix.sylius != ''
run: composer require "sylius/sylius:${{ matrix.sylius }}" --no-update --no-scripts --no-interaction

- name: Install PHP dependencies
run: composer install --no-interaction
env:
SYMFONY_REQUIRE: ${{ matrix.symfony }}

- name: Run PHPStan
run: vendor/bin/phpstan analyse -c phpstan.neon -l 8 src/

- name: Run ECS
run: vendor/bin/ecs check src

- name: Failed build Slack notification
uses: rtCamp/action-slack-notify@v2
if: ${{ failure() && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master') }}
env:
SLACK_CHANNEL: ${{ secrets.FAILED_BUILD_SLACK_CHANNEL }}
SLACK_COLOR: ${{ job.status }}
SLACK_ICON: https://github.com/rtCamp.png?size=48
SLACK_MESSAGE: ':x:'
SLACK_TITLE: Failed build on ${{ github.event.repository.name }} repository
SLACK_USERNAME: ${{ secrets.FAILED_BUILD_SLACK_USERNAME }}
SLACK_WEBHOOK: ${{ secrets.FAILED_BUILD_SLACK_WEBHOOK }}
7 changes: 4 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
],
"license": "MIT",
"require": {
"php": "^8.1",
"php": "^8.0",
"doctrine/annotations": "^1.14",
"sylius/sylius": ">=1.12.13 || ~1.13.0",
"sylius/sylius": "~1.12.0 || ~1.13.0",
"sylius/mailer-bundle": "^1.8 || ^2.0@beta",
"symfony/webpack-encore-bundle": "^1.15"
},
Expand Down Expand Up @@ -43,9 +43,10 @@
"symfony/flex": "^2.2.2",
"symfony/intl": "^5.4 || ^6.0",
"symfony/web-profiler-bundle": "^5.4 || ^6.0",
"vimeo/psalm": "5.12.0"
"vimeo/psalm": "4.27.0"
},
"conflict": {
"behat/mink-selenium2-driver": ">=1.7.0",
"symfony/framework-bundle": "6.2.8",
"symfony/validator": "6.4.7"
},
Expand Down
2 changes: 1 addition & 1 deletion src/Action/CaptureAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ final class CaptureAction implements ActionInterface, ApiAwareInterface
{
use ApiAwareTrait;

public function __construct(private readonly SignatureResolverInterface $signatureResolver)
public function __construct(private SignatureResolverInterface $signatureResolver)
{
$this->apiClass = ImojeApi::class;
}
Expand Down
4 changes: 2 additions & 2 deletions src/Action/NotifyAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ final class NotifyAction implements ActionInterface, ApiAwareInterface
private ?Request $request;

public function __construct(
private readonly RequestStack $requestStack,
private readonly SignatureResolverInterface $signatureResolver,
private RequestStack $requestStack,
private SignatureResolverInterface $signatureResolver,
) {
$this->request = $requestStack->getCurrentRequest();
$this->apiClass = ImojeApi::class;
Expand Down
10 changes: 5 additions & 5 deletions src/Api/ImojeApi.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@
class ImojeApi implements ImojeApiInterface
{
public function __construct(
private readonly string $environment,
private readonly string $merchantId,
private readonly string $serviceId,
private readonly string $serviceKey,
private readonly string $authorizationToken,
private string $environment,
private string $merchantId,
private string $serviceId,
private string $serviceKey,
private string $authorizationToken,
) {
}

Expand Down
4 changes: 2 additions & 2 deletions src/Controller/NotifyController.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
final class NotifyController
{
public function __construct(
private readonly Payum $payum,
private readonly PaymentTokenProviderInterface $paymentTokenProvider,
private Payum $payum,
private PaymentTokenProviderInterface $paymentTokenProvider,
) {
}

Expand Down
4 changes: 2 additions & 2 deletions src/Provider/PaymentTokenProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
final class PaymentTokenProvider implements PaymentTokenProviderInterface
{
public function __construct(
private readonly RepositoryInterface $orderRepository,
private readonly RepositoryInterface $paymentTokenRepository,
private RepositoryInterface $orderRepository,
private RepositoryInterface $paymentTokenRepository,
) {
}

Expand Down

0 comments on commit 0d58a6b

Please sign in to comment.