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/
As well rename test dir to tests, as Pest does not support dir without s on the end.
Also, remove PHP requirement from composer.json as we already have check-in bin/dep and it's better to have the check only in one place (now they already out of sync).
* #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
Refactored the code in `src/Configuration` to include type declarations
for method arguments and returned values.
To make it easier to track what's left to do and to have a tool that
prevents "regressions" in the future, PHP_CodeSniffer and Slevomat
Coding Standard have been added.
Next, a `phpcs.xml.dist` file has been created and configured to
enforce type hints for methods. For the time being, only files in
the src/Configuration directory are now being watched.
To make it simpler to execute the checks, `lint` script has been
added to `composer.json` to allow running checks with `composer lint`.