* Use cp instead of rsync to copy directories
Since rsync is not installed on every host it's better to use standard tools.
Previosly rsync was introduced ( #1072 ) to enable copying of subdirectories, but
this is doable with cp as well.
* Throw an exception if copy_dirs entries end with a slash
* Fix to strip last directory name from the destination folder
* Update CHANGELOG.md
Co-authored-by: Anton Medvedev <anton@medv.io>
* Use PHP biuld in funtion to detect scheme, hostname and port in repo url. refs #2667
* Updated changelog
* Add missing reference to changelog
* Unrelated issue, in order to make phpstan happy.
* First activate plugins/themes THEN build them
Currently the first step is to run bin/build.sh which builds all *ACTIVATED* themes. After this step we activate all composer-registered plugins (which in my case are all the themes) and THEN compile them. For new themes that means, that they are *NOT* build because they are activated AFTER building.
This PR fixes that and activated first and builds second.
* update changelog
The E2E docker-compose stack has been modified to include code
coverage for all scripts that are kept in /project and are not
in the exclusion list.
The start command for `deployer` container has been replaced
with a `start-e2e-test.sh` script, which will execute E2E tests,
generate a Clover report and then return the exit code of E2E test
process to make sure that CI is aware of the test result.
Whole idea for collecting E2E coverage has been inspired by the
[this][1] article. All of scripts in `deployer` container will
now start with additional wrapper-like PHP code, which checks
if the `PHP_CCOV_START_FILE` variable is present. If not,
then nothing happens, but if the variable points to a PHP file,
then that file is being included.
The `docker-compose.yml` file has `PHP_CCOV_START_FILE` configured
to point to a file, which sets up code coverage, that starts counting
which instructions in `/project` directory have been called. Once
`php` interpreter starts shutting down, the coverage report is being
dumped into temporary files.
Once all tests have been processed, a script for merging partial
coverage reports is executed and finally a Clover code coverage file
is stored in the path defined in the `PHP_CCOV_OUTPUT_FILE` env var.
[1]: https://tarunlalwani.com/post/php-code-coverage-web-selenium/
Added a new class ConsoleApplicationTester, which during E2E tests
will create a separate isolated process for the Deployer to run in.
This class exposes methods for interacting with stdin and to grab
stdout, stderr and status code of finished process.
* removed incorrect duplicate version column
Output is as follows so:
$plugin,$label,$version,$upgrade,$author,$installed,$active,$upgradeable,
Shopware Plugin Service
=======================
------------------- --------------------------------------------------------- --------- ----------------- --------------------------- ----------- -------- -------------
Plugin Label Version Upgrade version Author Installed Active Upgradeable
------------------- --------------------------------------------------------- --------- ----------------- --------------------------- ----------- -------- -------------
BuckarooPayments Buckaroo Payment 1.1.1 Buckaroo Yes Yes No
DevTools Additional tools to support your Shopware 6 development 0.2.0 Maurits Meester Yes Yes No
* Invoke sw:plugin:refresh inside sw:plugin:activate:all instead of incorrectly redefining it
* Upgrade all plugins that are upgradeable
* Changelog update
* Ran docgen
* Do NOT make upgrading all default
* Update doc
Co-authored-by: Fabian Blechschmidt <github@fabian-blechschmidt.de>
Co-authored-by: Fabian Blechschmidt <blechschmidt@fabian-blechschmidt.de>
Co-Authored-By: Kundan <198781+kundancool@users.noreply.github.com>
Co-authored-by: Kundan <198781+kundancool@users.noreply.github.com>
Co-authored-by: Anton Medvedev <anton@medv.io>
* Boolean options should not go through the `self::escape` function.
> Deployer\Support\Stringify::escape(): Argument #1 ($token) must be of type string, bool given
Fixes#2392.
* Update StringifyTest.php
* Update StringifyTest.php
Co-authored-by: Anton Medvedev <anton@medv.io>
* #2423 shopware: task sw:plugin:activate:all runs migration script in wrong order
- add dependency for polyfill (to use str_ends_with)
- marcj/topsort (for sorting the shopware modules)
* #2423 shopware: task sw:plugin:activate:all runs migration script in wrong order
- get the plugin list
- read the composer names and dependencies from composer.lock
- order by dependencies
- use sorted list for activation and migration
* #2423 shopware: task sw:plugin:activate:all runs migration script in wrong order
Update changelog
* #2423 shopware: task sw:plugin:activate:all runs migration script in wrong order
do not update doc, but remove require autoload.php
* Safety to avoid modifying files outside deploy_path
Using writable_dirs with writable_use_sudo can lead to a disaster on a server (example using /var/log instead of var/log as writable dir).
* Update writable.php
* Update CHANGELOG.md
* Update CHANGELOG.md
* Update writable.php
* trailing slash
* docgen
* throw exception if absolute path in writable dirs
* 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>