Small Docker images for testing Magento and Mage-OS in CI, with pre-installed versions that take the install out of every pipeline run.
docker pull samjuk/magento-ci-testing-env:2.4.8-php8.3 Read the docs on GitHub | magento-base | bring your own codebase | 50MB |
| magento | Magento pre-installed | 198MB |
| mage-os | Mage-OS pre-installed | 190MB |
Pre-baked images skip the Magento install on every pipeline run. Check out your module and run your tests.
Testing a module: use magento-ci-testing-env or mage-os-ci-testing-env, which have the application installed. Testing a whole project: use magento-base-ci-testing-env, which leaves the install to your composer.json.
docker pull samjuk/magento-ci-testing-env:2.4.8-php8.3 Set the image as the container for your CI job and check your module out into extensions/. MySQL, OpenSearch and Redis run as service containers alongside it.
Require the checked-out module into the pre-installed Magento, then run PHPUnit or your own test commands.
composer require -W --prefer-source vendor/module:@dev
vendor/bin/phpunit The tag says: 2.4.8-php8.3 is Magento 2.4.8 on PHP 8.3. Base images are tagged by PHP version alone (7.4 to 8.5). The database, search engine and Redis are not in the image; run them as service containers.
Yes. MageOS version tags are published alongside standard Magento tags and share the same minimal footprint.
Only with the base image. The Magento and Mage-OS images have the application installed, so you require your module and run your tests.
Yes. Every image is published on Docker Hub and the GitHub Container Registry, free to pull. Rolling tags update with each release; pinned tags such as 2.4.8-php8.3-v1.0.0 do not.