From abf7053875e5233e23be1be5e33434bdb663d931 Mon Sep 17 00:00:00 2001 From: Andy Thompson Date: Thu, 19 Jan 2023 16:27:50 +0000 Subject: [PATCH 1/6] Add akeneo6 test and ensure triggered on label --- Jenkinsfile | 17 ++++++++++++++++- test | 3 +++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 21448c2d2..7862d94a2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -37,7 +37,7 @@ pipeline { } when { beforeAgent true - expression { return isHarnessChange(['base', 'drupal8', 'wordpress']) } + expression { return isHarnessChange(['base', 'akeneo', 'drupal8', 'wordpress']) } } stages { stage('Prepare') { @@ -54,16 +54,19 @@ pipeline { steps { sh './test php static' sh './test drupal8 static' + sh './test akeneo6 static' sh './test akeneo5 static' sh './test akeneo4 static' sh './test wordpress static' sh './test php dynamic' sh './test drupal8 dynamic' + sh './test akeneo6 dynamic' sh './test akeneo5 dynamic' sh './test akeneo4 dynamic' sh './test wordpress dynamic' sh './test php dynamic mutagen' sh './test drupal8 dynamic mutagen' + sh './test akeneo6 dynamic mutagen' sh './test akeneo5 dynamic mutagen' sh './test akeneo4 dynamic mutagen' sh './test wordpress dynamic mutagen' @@ -83,6 +86,10 @@ pipeline { when { expression { return isHarnessChange(['drupal8']) } } steps { sh './test drupal8 static' } } + stage('Akeneo 6') { + when { expression { return isHarnessChange(['akeneo']) } } + steps { sh './test akeneo6 static' } + } stage('Akeneo 5') { when { expression { return isHarnessChange(['akeneo']) } } steps { sh './test akeneo5 static' } @@ -104,6 +111,10 @@ pipeline { when { expression { return isHarnessChange(['drupal8']) } } steps { sh './test drupal8 dynamic' } } + stage('Akeneo 6 Dynamic') { + when { expression { return isHarnessChange(['akeneo']) } } + steps { sh './test akeneo6 dynamic' } + } stage('Akeneo 5 Dynamic') { when { expression { return isHarnessChange(['akeneo']) } } steps { sh './test akeneo5 dynamic' } @@ -125,6 +136,10 @@ pipeline { when { expression { return isHarnessChange(['drupal8']) } } steps { sh './test drupal8 dynamic mutagen' } } + stage('Akeneo 6 Mutagen') { + when { expression { return isHarnessChange(['akeneo']) } } + steps { sh './test akeneo6 dynamic mutagen' } + } stage('Akeneo 5 Mutagen') { when { expression { return isHarnessChange(['akeneo']) } } steps { sh './test akeneo5 dynamic mutagen' } diff --git a/test b/test index 92dfb5282..246284a05 100755 --- a/test +++ b/test @@ -36,6 +36,9 @@ function main() elif [[ "$harness" =~ ^(akeneo5)$ ]]; then akeneo_version=5 harness="akeneo" + elif [[ "$harness" =~ ^(akeneo6)$ ]]; then + akeneo_version=6 + harness="akeneo" fi if [[ "$REUSE_EXISTING_WORKSPACE" != "yes" ]]; then From 789f920753a0705dc2060d2e7761f3f5a32f3287 Mon Sep 17 00:00:00 2001 From: Andy Thompson Date: Thu, 19 Jan 2023 16:38:21 +0000 Subject: [PATCH 2/6] Fix typo in composer.json twig template --- src/akeneo/application/skeleton/composer.json.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/akeneo/application/skeleton/composer.json.twig b/src/akeneo/application/skeleton/composer.json.twig index 0df9937a7..51fca4255 100644 --- a/src/akeneo/application/skeleton/composer.json.twig +++ b/src/akeneo/application/skeleton/composer.json.twig @@ -37,7 +37,7 @@ "akeneo/pim-{{ @('akeneo.edition') }}-dev": "^{{ @('akeneo.major_version') }}.0.0" }, "require-dev": { -{% if version_compare(@('akeneo.major_version'), '6', '>=') } +{% if version_compare(@('akeneo.major_version'), '6', '>=') %} "behat/behat": "^3.12", "friends-of-behat/mink-extension": "^2.7", "behat/mink-goutte-driver": "^2.0", From 1a06b68cc01fc656c3c7623bbfd80bb284af797e Mon Sep 17 00:00:00 2001 From: Andy Thompson Date: Thu, 19 Jan 2023 16:57:32 +0000 Subject: [PATCH 3/6] Use php.version directly for config.platform.php --- src/akeneo/application/skeleton/composer.json.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/akeneo/application/skeleton/composer.json.twig b/src/akeneo/application/skeleton/composer.json.twig index 51fca4255..549ad68f2 100644 --- a/src/akeneo/application/skeleton/composer.json.twig +++ b/src/akeneo/application/skeleton/composer.json.twig @@ -125,7 +125,7 @@ }, "config": { "platform": { - "php": "{{ (version_compare(@('akeneo.major_version'), '5', '>=')) ? '7.4' : '7.3.22' }}" + "php": "{{ @('php.version') }}" }, "allow-plugins": { "symfony/flex": true, From 87a2ba4b48ecdd1cc9cc5902b9ef6811a241dc74 Mon Sep 17 00:00:00 2001 From: Andy Thompson Date: Thu, 19 Jan 2023 17:11:48 +0000 Subject: [PATCH 4/6] Add node > 16 fix --- src/akeneo/harness.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/akeneo/harness.yml b/src/akeneo/harness.yml index 197db4709..dc2b297b4 100644 --- a/src/akeneo/harness.yml +++ b/src/akeneo/harness.yml @@ -113,6 +113,7 @@ attributes: build: when: -f "package.json" steps: + - export NODE_OPTIONS=--openssl-legacy-provider - run yarn install --frozen-lockfile - run bin/console cache:warmup - run bin/console pim:installer:assets --symlink --clean From add0d64abafc01e05862290b50427dc95e3e14f2 Mon Sep 17 00:00:00 2001 From: Andy Thompson Date: Thu, 19 Jan 2023 17:29:27 +0000 Subject: [PATCH 5/6] Update phpstan baseline to ignore more Kernel errors and differences between versions --- .../skeleton/phpstan-baseline.neon | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/src/akeneo/application/skeleton/phpstan-baseline.neon b/src/akeneo/application/skeleton/phpstan-baseline.neon index 82c8fe805..6d6637f32 100644 --- a/src/akeneo/application/skeleton/phpstan-baseline.neon +++ b/src/akeneo/application/skeleton/phpstan-baseline.neon @@ -1,16 +1,8 @@ parameters: - ignoreErrors: - - - message: "#^Parameter \\#1 \\$arr1 of function array_merge expects array, array\\\\|false given\\.$#" - count: 1 - path: src/Kernel.php - - - - message: "#^Parameter \\#2 \\.\\.\\.\\$args of function array_merge expects array, array\\\\|false given\\.$#" - count: 1 - path: src/Kernel.php - - - - message: "#^Parameter \\#3 \\.\\.\\.\\$args of function array_merge expects array, array\\\\|false given\\.$#" - count: 1 - path: src/Kernel.php + ignoreErrors: + - message: "#^Parameter \\#\\d .* of function array_merge expects array, array\\\\|false given\\.$#" + count: 3 + path: src/Kernel.php + - message: "#Generator expects value type Symfony\\\\Component\\\\HttpKernel\\\\Bundle\\\\BundleInterface, object given\\.#" + reportUnmatched: false + path: src/Kernel.php From d63d5de50bd1c522c0a6bb88711e5667ed64c61c Mon Sep 17 00:00:00 2001 From: Andy Thompson Date: Fri, 20 Jan 2023 13:33:38 +0000 Subject: [PATCH 6/6] Fix behat symfony extension and use updated test packages for all akeneo versions symfony/flex doesn't appear to auto add this bundle even if added directly to the project (it's indirect and so doesn't do recipes) --- .../application/skeleton/behat.yml.twig | 10 ++++-- .../application/skeleton/composer.json.twig | 31 +++++-------------- .../application/skeleton/config/bundles.php | 5 +++ 3 files changed, 21 insertions(+), 25 deletions(-) create mode 100644 src/akeneo/application/skeleton/config/bundles.php diff --git a/src/akeneo/application/skeleton/behat.yml.twig b/src/akeneo/application/skeleton/behat.yml.twig index b3b63af70..005737275 100644 --- a/src/akeneo/application/skeleton/behat.yml.twig +++ b/src/akeneo/application/skeleton/behat.yml.twig @@ -19,10 +19,11 @@ default: - App\Acceptance\Context\WebWithPageObjectsWithConstructorInjectionContext extensions: - Behat\Symfony2Extension: + FriendsOfBehat\SymfonyExtension: + bootstrap: config/bootstrap.php kernel: class: Kernel - bootstrap: config/bootstrap.php + environment: test Behat\MinkExtension: base_url: 'https://{{ @('hostname') }}' default_session: goutte @@ -30,6 +31,11 @@ default: sessions: goutte: goutte: + # Symfony HttpClient + server_parameters: + verify_peer: false + verify_host: false + # Guzzle guzzle_parameters: verify: false chrome: diff --git a/src/akeneo/application/skeleton/composer.json.twig b/src/akeneo/application/skeleton/composer.json.twig index 549ad68f2..94dd5484d 100644 --- a/src/akeneo/application/skeleton/composer.json.twig +++ b/src/akeneo/application/skeleton/composer.json.twig @@ -37,44 +37,29 @@ "akeneo/pim-{{ @('akeneo.edition') }}-dev": "^{{ @('akeneo.major_version') }}.0.0" }, "require-dev": { -{% if version_compare(@('akeneo.major_version'), '6', '>=') %} "behat/behat": "^3.12", - "friends-of-behat/mink-extension": "^2.7", "behat/mink-goutte-driver": "^2.0", - "friends-of-behat/symfony-extension": "^2.4", "dmore/behat-chrome-extension": "^1.4", "dmore/chrome-mink-driver": "^2.8", - "league/flysystem-aws-s3-v3": "^2.0", - "rector/rector": "^0.15", + "friends-of-behat/mink-extension": "^2.7", + "friends-of-behat/symfony-extension": "^2.4", "phpcompatibility/php-compatibility": "dev-develop", "phpcsstandards/phpcsutils": "1.0.0-alpha4", "phpmd/phpmd": "^2.13", - "phpspec/phpspec": "^7.2", + "phpspec/phpspec": "^7.3", "phpstan/phpstan": "^1.9", "phpunit/phpunit": "^9.5", + "rector/rector": "^0.15", "sensiolabs/behat-page-object-extension": "^2.3", "slevomat/coding-standard": "^8.6", "squizlabs/php_codesniffer": "^3.7", - "symfony/debug-bundle": "^5.4" +{% if version_compare(@('akeneo.major_version'), '6', '>=') %} + "league/flysystem-aws-s3-v3": "^2.0", + "symfony/debug-bundle": "^5.4", + "symfony/web-profiler-bundle": "^5.4" {% else %} - "behat/behat": "^3.5", - "behat/mink-extension": "^2.3", - "behat/mink-goutte-driver": "^1.2", - "behat/symfony2-extension": "^2.1", - "dmore/behat-chrome-extension": "^1.3", - "dmore/chrome-mink-driver": "^2.7", "doctrine/doctrine-migrations-bundle": "1.3.2", "league/flysystem-aws-s3-v3": "^1.0", - "rector/rector": "^0.7", - "phpcompatibility/php-compatibility": "dev-develop", - "phpcsstandards/phpcsutils": "1.0.0-alpha4", - "phpmd/phpmd": "^2.7", - "phpspec/phpspec": "^6.0", - "phpstan/phpstan": "^0.12", - "phpunit/phpunit": "^8.4", - "sensiolabs/behat-page-object-extension": "^2.3", - "slevomat/coding-standard": "^6.0", - "squizlabs/php_codesniffer": "^3.5", "symfony/debug-bundle": "^4.4.7", "symfony/web-profiler-bundle": "^4.4.7", "symfony/web-server-bundle": "^4.4.7" diff --git a/src/akeneo/application/skeleton/config/bundles.php b/src/akeneo/application/skeleton/config/bundles.php new file mode 100644 index 000000000..6a744d7f0 --- /dev/null +++ b/src/akeneo/application/skeleton/config/bundles.php @@ -0,0 +1,5 @@ + ['test' => true] +];