Composer installer can now take an argument to select which version channel to use: https://github.com/composer/getcomposer.org/pull/156/files
This allows for exemple to stay on major version 1 without specifying a specific Composer version
* Magento2: look for database migrations in order to get zero downtime deployments when changes are not needed
- also keep maintenance status active in case it was already previously activated
* Magento2: adjust shared dirs
* Magento2: dump autoload before setup di compile
- fix for magento 2.4 deployments https://github.com/magento/magento2/issues/23251
* Magento2: force static content deploy
- avoids deployment failure when magento production mode is not set
* Magento2: update change log
* Magento2: update recipe docs
* Revert "Magento2: force static content deploy"
This reverts commit 45de3337a5a3e524685c422be3fbc6957fe6b480.
* Magento2: detect configuration changes, launch config import
* Magento2: refactor recipe
- make all tasks compatible with any magento 2 version (skip command execution if still does not exist in certain version)
- remove duplicated check on maintenance status
- remove catch for processFailedException
Co-authored-by: Unai Lopez <unai.lopez@vdshop.es>
Co-authored-by: Peter Jaap Blaakmeer <peterjaap@blaakmeer.com>
* its invalid to combine `void` with another type
see https://github.com/phpstan/phpstan/issues/4014
* added explicit `return null`, to make phpstan happy and the code more obvious.
* increased phpstan level to 5
* fix: '$subject of function preg_match expects string, int given'
Some OS's need root permissions to access /var/spool/cron and this check
doesn't work on Debian and Ubuntu because the path is
/var/spool/cron/crontab.