A collection of GitHub Actions for automating code quality checks, integration testing, and performance profiling of Magento 2 extensions.
GitHub Actions for Magento 2 Extensions is a collection of pre-built GitHub Actions workflows for automating the testing and code quality analysis of Magento 2 modules. It solves the problem of manually setting up complex CI/CD pipelines for Magento by providing ready-to-use actions for coding standards, integration testing, static analysis, and performance profiling.
Magento 2 extension developers and development teams who use GitHub for version control and want to implement automated testing and code quality checks in their CI/CD pipelines.
Developers choose this project because it provides Magento-specific, pre-configured GitHub Actions that handle the intricacies of Magento environment setup and tooling, saving significant time and ensuring consistency compared to building custom workflows from scratch.
This project provides a suite of reusable GitHub Actions specifically designed for Magento 2 extension development. It helps developers maintain high code quality and ensure their extensions work correctly by automating essential testing and analysis workflows directly within GitHub.
The project aims to simplify CI/CD for Magento 2 developers by providing pre-configured, battle-tested actions that handle the complex setup of Magento-specific tooling, allowing teams to focus on building quality extensions.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates Magento's official tools like the Magento Coding Standard and PHP Mess Detector rules directly, ensuring code consistency with Magento's ecosystem as referenced in the README links.
Automatically sets up a full Magento environment with MySQL and Elasticsearch services, handling complex dependencies so developers can focus on writing tests, as shown in the integration.yml workflow example.
Provides pre-configured YAML files for each action (e.g., coding-standard.yml, integration.yml), saving significant setup time and reducing errors in CI/CD pipeline creation.
Includes Blackfire.io actions for profiling extension performance before and after installation, crucial for maintaining Magento site speed, though it requires additional setup as detailed in the performance workflow.
The performance smoke test requires multiple steps, docker-compose, and setting up four Blackfire secrets, making it cumbersome and error-prone compared to simpler actions.
Integration tests only list PHP 7.2, 7.3, and 7.4 images, with no mention of PHP 8.x support, which is essential for newer Magento 2.4+ versions and could limit compatibility.
Relies on Blackfire.io for performance tests and a Magento Marketplace mirror or credentials, adding external dependencies and potential points of failure if services are unavailable or credentials expire.
While pre-configured, customizing workflows beyond basic inputs (e.g., phpunit_file or magento_pre_install_script) requires deep knowledge of the actions' internals and Docker setups, as hinted in the advanced usage sections.