Action: setup-install (new)
Status: 🔴 New action
Target: setup-install/action.yml
Feature request
Title: feat(setup-install): new action to run bin/magento setup:install from supported-version services matrix
Problem: After supported-version outputs a matrix with a services key, callers still have to manually translate each service (mysql, opensearch, rabbitmq, redis/valkey) into the correct bin/magento setup:install flags. This is repetitive, error-prone, and diverges across repos.
Solution: An action that accepts the services JSON from the matrix entry and the standard Magento install parameters, then derives and runs bin/magento setup:install with all service-specific flags automatically.
Services → setup:install flag mapping
Derived from the hardcoded credentials in supported-version/src/services/service-config.ts:
MySQL
--db-host=127.0.0.1
--db-port=3306
--db-name=magento_integration_tests
--db-user=user
--db-password=password
OpenSearch
--search-engine=opensearch
--opensearch-host=127.0.0.1
--opensearch-port=9200
Elasticsearch (version-aware)
Detect major version from image tag (e.g. elasticsearch:8.11.4 → 8, elasticsearch:7.17.0 → 7):
--search-engine=elasticsearch<major>
--elasticsearch-host=127.0.0.1
--elasticsearch-port=9200
RabbitMQ
--amqp-host=127.0.0.1
--amqp-port=5672
--amqp-user=guest
--amqp-password=guest
Redis / Valkey (identical flags, both bind to 6379)
--session-save=redis
--session-save-redis-host=127.0.0.1
--session-save-redis-port=6379
--cache-backend=redis
--cache-backend-redis-server=127.0.0.1
--cache-backend-redis-port=6379
Action design
Inputs
| Input |
Required |
Default |
Description |
services |
true |
— |
JSON string of the services key from the supported-version matrix entry |
path |
false |
'.' |
The path to the Magento application. |
extra_args |
false |
"" |
Any additional raw setup:install flags to append |
Outputs
| Output |
Description |
command |
The full bin/magento setup:install command that was run |
Example usage
- uses: mage-os/github-actions/setup-install@main
with:
services: ${{ toJSON(matrix.services) }}
Internal workflow impact
Once created, _internal-setup-magento.yaml and integration.yaml can replace their inline setup:install blocks with this action.
Action: setup-install (new)
Status: 🔴 New action
Target:
setup-install/action.ymlFeature request
Services → setup:install flag mapping
Derived from the hardcoded credentials in
supported-version/src/services/service-config.ts:MySQL
OpenSearch
Elasticsearch (version-aware)
Detect major version from image tag (e.g.
elasticsearch:8.11.4→8,elasticsearch:7.17.0→7):RabbitMQ
Redis / Valkey (identical flags, both bind to 6379)
Action design
Inputs
servicesserviceskey from the supported-version matrix entrypathfalseextra_args""setup:installflags to appendOutputs
commandbin/magento setup:installcommand that was runExample usage
Internal workflow impact
Once created,
_internal-setup-magento.yamlandintegration.yamlcan replace their inlinesetup:installblocks with this action.