mirror of https://github.com/FriendsOfTYPO3/tea.git synced 2024-09-19 18:36:12 +02:00
Mirror of TYPO3 Extension tea, managed by the Best Practice Team https://typo3.org/community/teams/best-practices
Find a file
Stefan Bürk 8a2e0cbcff
[TASK] Add -b option to select container binary (#1076)
TYPO3 core introduced the `-b` option for the
`Build/Scripts/runTests.sh` script to provide
the ability to select the container binary,
`docker` or `podman` and enforces podman for
CI (GitLab runner) runs after switching the
Core CI infrastructure from Docker-In-Docker
to Podman-In-Podman.

The `ext:tea` adoption of the `runTests.sh`
has been already adopted on a intermediate
version and dropped the `docker-compose`
based container definitions. Along with
other minor prepration patches this allows
now to add the container binary selection
also.

This change modifies `runTests.sh` to

* add the `-b` option with a corresponding
  helptext addition and allows `podman` or
  `docker` - whereas the latter is the default.

* integrates the determined and fixed issues
  with tty in CI environments by setting some
  paramater for the commands based on the CI
  detection (GitHub Action or GitLab Runner).

Note:	The implemention for `ext:tea` does not
        enforce hardcoed the `podman` binary for
        CI environments. If no user selection is
        provided, it fallbacks to `docker` for
        all environments.

It's worth to mention that the implementation to
deal properly with user namespacing and permission
handling on mountend volumns it's required to have
at least `podman 4.x` installed. Earlier versions
does not support the required handlinging and options.

Minor moving of variable declaration are done as a
drive-by change.

The `docsGenerate` suite has been guard and display
a concrete message when executed using the `podman`
binary.

Resolves: #1075
Related: #969
2023-12-18 23:41:14 +01:00
.ddev [TASK] Upgrade DDEV (#991) 2023-11-27 12:48:25 +01:00
.github [TASK] Add xliff linting locally (#1071) 2023-12-15 16:17:39 +01:00
.gitlab [TASK] Add php8.3 to functional tests gitlab (#1064) 2023-12-15 16:49:23 +01:00
Build [TASK] Add -b option to select container binary (#1076) 2023-12-18 23:41:14 +01:00
Classes [TASK] Switch the TeaController to construtor injection (#881) 2023-07-03 14:26:21 +02:00
Configuration Remove leftover select_key (#1052) 2023-12-10 01:07:37 +01:00
Documentation Drop obsolete tasks from documentation (#1067) 2023-12-15 14:05:21 +01:00
Resources [FEATURE] Provide Polish translation for tea (#1020) 2023-11-27 14:17:08 +01:00
Tests [FEATURE] Add first functional test using a request (#1021) 2023-11-27 14:18:04 +01:00
tools [TASK] Remove phpcpd (PHP Copy/Paste Detector) (#800) 2023-04-06 16:26:51 +02:00
.editorconfig Change default rst indentation to 4 spaces (#508) 2022-08-20 13:59:53 +02:00
.eslintignore [TASK] Move npm tools and config to default places (#445) 2022-05-18 17:17:45 +02:00
.eslintrc.json [TASK] Improved ESLint config for Backend JavaScript (#476) 2022-07-08 12:43:19 +02:00
.gitattributes [FEATURE] Integrate runTests.sh execution wrapper - round one (#900) 2023-07-31 13:38:07 +02:00
.gitignore [FEATURE] Integrate runTests.sh execution wrapper - round one (#900) 2023-07-31 13:38:07 +02:00
.php-cs-fixer.php [TASK] Migrate to typo3 coding standards (#340) 2021-11-17 16:45:49 +01:00
.phpstorm.meta.php [BUGFIX] Add hidden files to find in PHP lint (#559) 2022-09-07 11:47:31 +02:00
.prettierrc.js [TASK] Move npm tools and config to default places (#445) 2022-05-18 17:17:45 +02:00
CHANGELOG.md [TASK] Add xliff linting locally (#1071) 2023-12-15 16:17:39 +01:00
CODE_OF_CONDUCT.md [TASK] Switch to the TYPO3 Code of Conduct (#430) 2022-04-14 18:11:50 +02:00
composer.json [BUGFIX] Avoid JSON-linting the Composer cache directory (#1074) 2023-12-16 23:55:34 +01:00
CONTRIBUTING.md [TASK] Add contribution guide (#1044) 2023-12-05 16:26:37 +01:00
ext_emconf.php [TASK] Add Daniel and Łukasz as co-maintainers (#960) 2023-11-01 23:33:14 +01:00
ext_localconf.php [FEATURE] Add a delete functionality for the Tea FE editor (#876) 2023-06-23 11:55:19 +02:00
ext_tables.sql [FEATURE] Add Tea.ownerUid (#860) 2023-06-21 09:16:13 +02:00
LICENSE [TASK] Change from GPL V3+ to GPL V2+ (#40) 2019-08-08 12:38:56 +02:00
package.json Update eslint requirement from ^8.55.0 to ^8.56.0 (#1077) 2023-12-18 05:17:11 +00:00
phive.xml [TASK] Remove phpcpd (PHP Copy/Paste Detector) (#800) 2023-04-06 16:26:51 +02:00
phpcs.xml [TASK] Remove the ancient acceptance tests (#512) 2022-08-28 09:33:50 +02:00
phpstan-baseline.neon [BUGFIX] Add allow empty base line for phpstan check (#1018) 2023-11-27 15:29:58 +00:00
phpstan.neon [FEATURE] Add type coverage (#889) 2023-10-23 10:48:53 +02:00
README.md [TASK] Update repository urls (#946) 2023-10-08 21:53:41 +02:00
stylelint.config.js [TASK] Move npm tools and config to default places (#445) 2022-05-18 17:17:45 +02:00

Example TYPO3 extension for code quality checks and automated tests

TYPO3 V12 TYPO3 V11 License Total downloads GitHub CI status GitLab CI status Coverage Status

This TYPO3 extension, based on Extbase and Fluid, is an example of best practices in automated code checks, unit/functional/acceptance testing and continuous integration.

You can also use this extension to manage your collection of delicious teas.

URL
Repository: https://github.com/FriendsOfTYPO3/tea
Read online: https://docs.typo3.org/p/ttn/tea/main/en-us/
TER: https://extensions.typo3.org/extension/tea/
Slack: https://typo3.slack.com/channels/qa-best-practices

Presentation at the TYPO3 Online Days 2021

At the TYPO3 Online Days 2021, Oliver Klee held a session where her presented our approach for automating the code quality of extensions.

Slides

cover slide

Video recording

video still