Feature/mess detector multi version#165
Conversation
Adds version-specific Dockerfiles (7.3–8.5) and action.yml directories following the same pattern as magento-phpstan and magento-coding-standard. Also adds the mess-detector-images.yml CI workflow to build and push all version-tagged Docker images automatically. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…DD with COPY - PHP 8.1: use Magento 2.4.6-p13 (2.4.7+ dropped PHP 8.1 support) - PHP 8.2: use Magento 2.4.7-p8 (2.4.8+ requires PHP 8.3+) - PHP 8.1 + 8.2: add missing composer audit.ignore config for CI - All versions: replace ADD with COPY (preferred for local file copies) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
| FROM extdn/magento-integration-tests-action:8.1-latest AS builder | ||
|
|
||
| RUN echo memory_limit = -1 >> /usr/local/etc/php/conf.d/custom-memory.ini | ||
| RUN composer create-project --repository=https://repo-magento-mirror.fooman.co.nz/ --no-plugins --no-install --no-interaction magento/project-community-edition /var/www/magento2ce "2.4.6-p13" |
There was a problem hiding this comment.
Can we use 2.4.7-p8 (or now 2.4.7-p10), as in the PHPStan version here? I don't get why we need to use 2.4.6 here.
There was a problem hiding this comment.
Magento 2.4.7 doesn't support PHP 8.1, and for that reason, we have kept the 2.4.6 version here. I checked the PHPStan file too, and I think there should also be a 2.4.6 Magento version for PHP 8.1.
There was a problem hiding this comment.
It does: https://github.com/magento/magento2/blob/2.4.7-p10/composer.json#L21
Hence, I think we should use 2.4.7-p10 here.
This also needs to be fixed in magento-phpstan/Dockerfile:8.1.
| RUN composer config repo.foomanmirror composer https://repo-magento-mirror.fooman.co.nz/ | ||
| RUN composer config --no-plugins allow-plugins true | ||
| RUN composer require hoa/regex --no-update | ||
| RUN composer config --json audit.ignore '{"PKSA-z3gr-8qht-p93v": "Ignored for CI", "PKSA-rkkf-636k-qjb3": "Ignored for CI", "PKSA-wws7-mr54-jsny": "Ignored for CI", "PKSA-db8d-773v-rd1n": "Ignored for CI"}' |
There was a problem hiding this comment.
Why do we need this? It is not included in the PHPStan file.
| RUN composer config repo.foomanmirror composer https://repo-magento-mirror.fooman.co.nz/ | ||
| RUN composer config --no-plugins allow-plugins true | ||
| RUN composer require hoa/regex --no-update | ||
| RUN composer config --json audit.ignore '{"PKSA-z3gr-8qht-p93v": "Ignored for CI", "PKSA-rkkf-636k-qjb3": "Ignored for CI", "PKSA-wws7-mr54-jsny": "Ignored for CI", "PKSA-db8d-773v-rd1n": "Ignored for CI"}' |
There was a problem hiding this comment.
Why do we need this? It is not included in the PHPStan file.
| FROM extdn/magento-integration-tests-action:8.2-latest AS builder | ||
|
|
||
| RUN echo memory_limit = -1 >> /usr/local/etc/php/conf.d/custom-memory.ini | ||
| RUN composer create-project --repository=https://repo-magento-mirror.fooman.co.nz/ --no-plugins --no-install --no-interaction magento/project-community-edition /var/www/magento2ce "2.4.8-p1" |
There was a problem hiding this comment.
| RUN composer create-project --repository=https://repo-magento-mirror.fooman.co.nz/ --no-plugins --no-install --no-interaction magento/project-community-edition /var/www/magento2ce "2.4.8-p1" | |
| RUN composer create-project --repository=https://repo-magento-mirror.fooman.co.nz/ --no-plugins --no-install --no-interaction magento/project-community-edition /var/www/magento2ce "2.4.8-p5" |
| FROM extdn/magento-integration-tests-action:8.3-latest AS builder | ||
|
|
||
| RUN echo memory_limit = -1 >> /usr/local/etc/php/conf.d/custom-memory.ini | ||
| RUN composer create-project --repository=https://repo-magento-mirror.fooman.co.nz/ --no-plugins --no-install --no-interaction magento/project-community-edition /var/www/magento2ce "2.4.8-p3" |
There was a problem hiding this comment.
| RUN composer create-project --repository=https://repo-magento-mirror.fooman.co.nz/ --no-plugins --no-install --no-interaction magento/project-community-edition /var/www/magento2ce "2.4.8-p3" | |
| RUN composer create-project --repository=https://repo-magento-mirror.fooman.co.nz/ --no-plugins --no-install --no-interaction magento/project-community-edition /var/www/magento2ce "2.4.8-p5" |
| FROM extdn/magento-integration-tests-action:8.4-latest AS builder | ||
|
|
||
| RUN echo memory_limit = -1 >> /usr/local/etc/php/conf.d/custom-memory.ini | ||
| RUN composer create-project --repository=https://repo-magento-mirror.fooman.co.nz/ --no-plugins --no-install --no-interaction magento/project-community-edition /var/www/magento2ce "2.4.8-p3" |
There was a problem hiding this comment.
| RUN composer create-project --repository=https://repo-magento-mirror.fooman.co.nz/ --no-plugins --no-install --no-interaction magento/project-community-edition /var/www/magento2ce "2.4.8-p3" | |
| RUN composer create-project --repository=https://repo-magento-mirror.fooman.co.nz/ --no-plugins --no-install --no-interaction magento/project-community-edition /var/www/magento2ce "2.4.8-p5" |
| FROM extdn/magento-integration-tests-action:8.1-latest AS builder | ||
|
|
||
| RUN echo memory_limit = -1 >> /usr/local/etc/php/conf.d/custom-memory.ini | ||
| RUN composer create-project --repository=https://repo-magento-mirror.fooman.co.nz/ --no-plugins --no-install --no-interaction magento/project-community-edition /var/www/magento2ce "2.4.6-p13" |
There was a problem hiding this comment.
It does: https://github.com/magento/magento2/blob/2.4.7-p10/composer.json#L21
Hence, I think we should use 2.4.7-p10 here.
This also needs to be fixed in magento-phpstan/Dockerfile:8.1.
Summary
magento-mess-detector, bringing it in line withmagento-phpstan,magento-coding-standard, andmagento-unit-testswhich already have per-PHP-version action directories and Dockerfilesaction.ymlfiles undermagento-mess-detector/{version}/each pointing toextdn/magento-mess-detector-action:{version}-latestmess-detector-images.ymlCI workflow to auto-build and push Docker images for all PHP versions on push to master, weeklyschedule, and after
Build Integration Imagescompletes (same trigger pattern asphpstan-images.yml)PHP → Magento Version Mapping
Technical Details
extdn/magento-integration-tests-action:{version}-latestas the base (same pattern asmagento-phpstan)(
phpunit.phpmd.xml,PhpmdRunner.php,LiveCodePhpmdRunner.php,entrypoint.sh)COPYinstead ofADDfor local file instructions (Docker best practice)composer config --json audit.ignorefor known CI-irrelevant security advisories