mirror of https://github.com/FriendsOfTYPO3/tea.git synced 2024-12-22 23:46:10 +01:00
tea/.gitattributes

23 lines
655 B
Text
Raw Normal View History

/.Build/ export-ignore
/.editorconfig export-ignore
/.eslintignore export-ignore
/.eslintrc.json export-ignore
/.gitattributes export-ignore
/.github/ export-ignore
/.gitignore export-ignore
/.gitlab/ export-ignore
/.php-cs-fixer.php export-ignore
/.phpstorm.meta.php export-ignore
/.prettierrc.js export-ignore
[FEATURE] Integrate `runTests.sh` execution wrapper - round one (#900) TYPO3 Core and related repositories like the `typo3/testing-framework` or `typo3/styleguide` uses a bash script arround docker to execute all scripts over different operating systems in a controlled and ensured manner. This helps to reproduce locally failing jobs from a CI like GitHub actions or GitLab. TYPO3 core dropped recently the requirement for `docker-compose`, reducing it to `docker` and preparing for dual usage with docker and podman in the future. This change integrates the current state as extension wrapper, aligning contained suits with existing tools. Additionally, a TYPO3 core version switch is integrated. The added script is excluded from git archive building and during releasing. A list of possible options can be display with: ```shell Build/Scripts/runTests.sh -h ``` Overview of integrated features: * `-p` to select the PHP version (7.4 - 8.3) * `-s` to select the suite to execute * `-t` to select the TYPO3 core version, mainly needed for the `composer` suits executions * `-e` to provide additionally flags for phpunit executions, e.g. for unit and functional tests * `-x` to enable xdebug trigger - this helps with debugging during unit or functional test * `-d` to select the database backend to use, needed for functional test execution to start the correct database * `-a` to select the used php driver for the `-d` database backend, if multiple options are possible * `-i` to specify the mariadb version * `-j` to specify the mysql version * `-k` to specify the postgres version Available suits (`-s`): - cgl: Checks the code style with the PHP Coding Standards Fixer (PHP-CS-Fixer). - cglFix: Fixes the code style with PHP-CS-Fixer." - clean: clean up build, cache and testing related files and folders - cleanBuild: clean up build related files and folders - cleanCache: clean up cache related files and folders - cleanRenderedDocumentation: clean up rendered documentation files and folders (Documentation-GENERATED-temp) - cleanTests: clean up test related files and folders - composer: "composer" with all remaining arguments dispatched. - composerInstallMax: "composer update", with no platform.php config. - composerInstallMin: "composer update --prefer-lowest", with platform.php set to PHP version x.x.0. - docsGenerate: Renders the extension ReST documentation. - functional: PHP functional tests - lintTypoScript: TypoScript linting - lintPhp: PHP linting - lintJson: JSON linting - lintYaml: YAML linting - phpstan: phpstan tests - phpstanGenerateBaseline: regenerate phpstan baseline, handy after phpstan updates - unit (default): PHP unit tests - unitRandom: PHP unit tests in random order, add -o <number> to use specific seed Notes: * Not everything is available directly for now in the `runTests.sh` and therefore not enabled in CI. * Coverage related execution needs extended work and are therefore left out for now. * `composer.json` protection for core version changes not included yet like the one or other advanced option. * Intermediate cleanings for changing php versions and core versions not included yet and will follow. * typo3/testing-framework template files **must** be copied to the extension or project and **must not** be used from the vendor folder. Resolves: #899 Releases: main
2023-07-31 13:38:07 +02:00
/Build/ export-ignore
/Configuration/FunctionalTests.xml export-ignore
/Configuration/UnitTests.xml export-ignore
/Tests/ export-ignore
/package.json export-ignore
/phive.xml export-ignore
/phpcs.xml export-ignore
/phpstan-baseline.neon export-ignore
/phpstan.neon export-ignore
/stylelint.config.js export-ignore
/tools/ export-ignore binary