mirror of https://github.com/FriendsOfTYPO3/tea.git synced 2024-12-28 11:46:10 +01:00
Commit graph

1164 commits

Author SHA1 Message Date
Stefan Bürk
dc04824b4c
[TASK] Streamline nodejs dependency management (#1302)
With #1289 the `nodejs` dependency management has
been changed from `yarn` to `npm` missing the one
or other important requirement.

This change streamlines the management by ...

* adding a `.nvmrc` file to the repository root to
  allow automatic nodejs/npm switch if the nvm shell
  switching is available on the host system.
* adding a `.npmrc` file to specify the lock file
  version and engine option.
* adding `nodejs` and `npm` version constraints as
  `engine` specification to the `package.json` file.
* remove `package-lock.json` from `.gitignore` and
  add it to the repository to ensure reproducable
  setups - which becomes more important if extension
  get custom backend/frontend modules and javascript.
* adding `package-lock.json` to exclude it from archive,
  due to remove from the `.gitignore` file.
* ensuring that new development files are excluded from
  packaging and publishing.
* use `npm ci` in GitHub action workflows to install
  from the lock-file.

Note: This change unblocks adding `npm` dispatching
to `Build/Scripts/runTests.sh`.

Resolves: #1301
Related: #1289
2024-05-14 12:13:43 +02:00
dependabot[bot]
0928b386dc
[TASK] Update phpstan/phpstan requirement from ^1.10.67 to ^1.11.0 (#1309)
Updates the requirements on [phpstan/phpstan](https://github.com/phpstan/phpstan) to permit the latest version.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Changelog](https://github.com/phpstan/phpstan/blob/1.11.x/CHANGELOG.md)
- [Commits](https://github.com/phpstan/phpstan/compare/1.10.67...1.11.0)

---
updated-dependencies:
- dependency-name: phpstan/phpstan
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-13 07:53:50 +00:00
dependabot[bot]
3064c2567b
[TASK] Update phpstan/phpstan-phpunit requirement from ^1.3.16 to ^1.4.0 (#1310)
Updates the requirements on [phpstan/phpstan-phpunit](https://github.com/phpstan/phpstan-phpunit) to permit the latest version.
- [Release notes](https://github.com/phpstan/phpstan-phpunit/releases)
- [Commits](https://github.com/phpstan/phpstan-phpunit/compare/1.3.16...1.4.0)

---
updated-dependencies:
- dependency-name: phpstan/phpstan-phpunit
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-13 07:51:23 +00:00
dependabot[bot]
20ca25086b
[TASK] Update phpstan/phpstan-strict-rules requirement (#1308)
Updates the requirements on [phpstan/phpstan-strict-rules](https://github.com/phpstan/phpstan-strict-rules) to permit the latest version.
- [Release notes](https://github.com/phpstan/phpstan-strict-rules/releases)
- [Commits](https://github.com/phpstan/phpstan-strict-rules/compare/1.5.5...1.6.0)

---
updated-dependencies:
- dependency-name: phpstan/phpstan-strict-rules
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-13 07:48:18 +00:00
dependabot[bot]
9d84ddd752
[TASK] Update saschaegerer/phpstan-typo3 requirement (#1307)
Updates the requirements on [saschaegerer/phpstan-typo3](https://github.com/sascha-egerer/phpstan-typo3) to permit the latest version.
- [Release notes](https://github.com/sascha-egerer/phpstan-typo3/releases)
- [Commits](https://github.com/sascha-egerer/phpstan-typo3/compare/1.10.0...1.10.1)

---
updated-dependencies:
- dependency-name: saschaegerer/phpstan-typo3
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-13 07:43:38 +00:00
dependabot[bot]
0f9770c967
[TASK] Update friendsofphp/php-cs-fixer requirement (#1306)
Updates the requirements on [friendsofphp/php-cs-fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer) to permit the latest version.
- [Release notes](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases)
- [Changelog](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.56.0...v3.56.1)

---
updated-dependencies:
- dependency-name: friendsofphp/php-cs-fixer
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-13 05:26:56 +00:00
dependabot[bot]
2d91568ce1
[TASK] Update friendsofphp/php-cs-fixer requirement (#1303)
Updates the requirements on [friendsofphp/php-cs-fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer) to permit the latest version.
- [Release notes](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases)
- [Changelog](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.55.0...v3.56.0)

---
updated-dependencies:
- dependency-name: friendsofphp/php-cs-fixer
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-08 05:14:54 +00:00
Oliver Klee
bbe8b96aff
[TASK] Import classes (#1299) 2024-05-07 19:15:51 +02:00
Oliver Klee
cf899825d4
[TASK] Drop obsolete options from ext_emconf.php (#1298) 2024-05-07 14:58:07 +00:00
Eike Starkmann
ff4f7e3d0a
[FEATURE] Add Rector (#1031)
This part of #851.

In later parts, we'll add a Rector wrapper to `runTests.sh` and a CI job, and apply possible changes suggested by Rector.

Part of #851
Closes #125
2024-05-07 16:49:48 +02:00
4ee0848039
[TASK] Document to use WSL for tests on Windows (#1295)
Resolves: #1130
2024-05-07 16:35:15 +02:00
Łukasz Uznański
662f6dd77a
[TASK] Rename the xliff script (#1296)
Resolves: #1261

Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2024-05-07 16:27:40 +02:00
Stefan Bürk
7bff3fc341
[BUGFIX] Enhance container documentation rendering (#1294)
The new php based rendering container has been added
recently to render the documentation. The image come
with a internal uid/gid switch to mitigate permission
issues with docker due to a missimplementation, which
podman not suffers by proper using the kernal namespacing.

This change ensures to create a folder before hand with
the correct permissions to mitigate this for docker. On
top of that, the external user set is added for the direct
invokiation and also the interactive switch to avoid failure
in CI context usages.

To avoid permission issues with previously created folder,
a `chown` command is added to ensure correct permission on
that folder.

Resolves: #1283
2024-05-07 13:49:22 +00:00
Łukasz Uznański
fbb7e0c930
[TASK] Switch from yarn to npm (#1289)
Resolves: #1274
2024-05-07 15:40:32 +02:00
Stefan Bürk
76293755df
[TASK] Use TYPO3 core-testing images directly (#1293)
Extended core-testing image has been used to
support extended `find` options not provided
by the busybox implementation.

After streamlining used `find` command usages
towards a stripped down version with #1209 it
is now possible to use the TYPO3 core-testing
images directly.

This change modifes `Build/Scripts/runTests.sh`
to use `typo3/core-testing-*` images now.

Resolves: #1275
Related: #1209
2024-05-07 15:24:46 +02:00
c3bfa4f06f
[TASK] Add feedback section to readme (#1292)
Communicate that we value and welcome feedback and the possible ways to
provide feedback.

Resolves: #1236
2024-05-07 13:22:21 +00:00
Stefan Bürk
b212209af5
[TASK] Use only busybox compatible find options (#1290)
`find` has different options in different operating
system implementations (gnu, macosx, busybox, ...).

This change modies the used find command and replace
`-regextype` and `-regex` for multiple file extension
for `ci:yaml:lint` composer script.

Note: That unblocks the ability to revert to the
TYPO3 core-testing-* images and avoid 3rd party
extended images installing `gnu find`.

Resolves: #1209
2024-05-07 15:14:57 +02:00
3e90416a2b
[TASK] Add "Technical Feedback" issue template (#1291)
Allow others to easily provide feedback on technical decisions.
The issue template should make people more invited to share their own
feedback.

Resolves: #1235
2024-05-07 15:12:53 +02:00
d92479942a
[TASK] Document that we follow semantic versioning (#1288)
Resolves: #145
2024-05-07 12:49:50 +00:00
388d190ba6
[TASK] Document philosophy of alignment with TYPO3 CMS Core (#1284)
Resolves: #1237
2024-05-07 14:41:12 +02:00
dependabot[bot]
f725ef0b03
[TASK] Bump eslint from 8.57.0 to 9.2.0 (#1265)
Bumps [eslint](https://github.com/eslint/eslint) from 8.57.0 to 9.2.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.57.0...v9.2.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-07 14:40:48 +02:00
Oliver Klee
38b50bdf06
[TASK] Use PHP 8.3 by default in runTests.sh (#1287)
Let's use the most performant available PHP version for
local development.
2024-05-07 14:32:03 +02:00
b8ef4383b7
[TASK] Migrate from Services.yaml to Services.php (#1286)
* Migrate existing configuration from yaml to php.
* Document why we did the switch and that using yaml or both is totally
  valid and conforms to best practices.
* Document why we are not using attributes but only `Services.php`
  right now.

Resolves: #1172
Relates: #1237
2024-05-07 14:14:54 +02:00
Stefan Bürk
b3cfc9c7d0
[BUGFIX] Ensure correct service waits and container cleanup (#1285)
This change now uses a bash trap to ensure proper container
cleanup after some signals happend. The internal `waitFor()`
is modified to emit a signal to cleanup containers if the
waiting process does not process correctly and stop the
script execution.

Additionally, `--pull-never` as CI_PARAMS is no longer derived
from the `$CI` variable and must now be handed over from the
calling process.

Further, the max retry value in `waitFor()` is increased to 20
to mitigate the slowed down startup of MySQL 8.0 container.

Resolves: #1280
2024-05-07 13:08:57 +02:00
Stefan Bürk
823d4c406d
[BUGFIX] Display static driver info for sqlite and postgres (#1281)
In the PHP world there are only one driver for SQLite and
Postgres available. `runTests.sh` disallows to specify a
driver for SQLite or Postgres and therefore setting the
variable would make that check more complex.

This change modifies the driver information for SQLite and
Postgres to use hardcoded driver output to keep the cross
check for specifing a driver for these database vendors.

Resolves: #1278
2024-05-07 12:31:15 +02:00
Karsten Nowak
6828977b74
[TASK] Activate workspace support for tea model (#1282)
Related: #552
2024-05-07 12:27:41 +02:00
Chris Müller
9b4c0a8f50
[TASK] Switch the documentation to PHP-based rendering (#1190)
Command for rendering:

    ./Build/Scripts/runTests.sh -s docsGenerate

or just:

    composer docs:generate

The reference to the TYPO3 Documentation Rendering Guide was adjusted as the Quickstart page does not exist anymore.

Additionally, the genindex isn't supported anymore. It is planned to consider the `index` directive in the global search on docs.typo3.org.

Resolves: #1189
2024-05-07 12:18:26 +02:00
Stefan Bürk
6bad0fbac7
[TASK] Streamline container binary chain (#1279)
First iteration of the `Build/Scripts/runTests.sh` supporting
`docker` and `podman` introduced a switch for direct usage in
local environments while keeping `docker` as strong default.

This change removes the hardcoded default for local and ci runs
and introduces a detection of available binaries, prefering the
`podman` over `docker` if both are installed on the host and no
specific binary selected using `-b <container-bin>`.

If no specific binary is provided, the detection chain is now:

* podman
* docker

Default binary variables are removed due to beeing obsolete now.

Resolves: #1148
2024-05-07 12:13:20 +02:00
Oliver Klee
188303fed1
[TASK] Stop storing development tool PHARs in the repository (#1277)
Tools that are downloadable should in general be downloaded during
the CI runs, not stored in the repository.

As the only PHIVE PHAR we're using is PCOV (for code coverage, which
we usually only run on CI), we can skip providing PHIVE and rely on
CI to provide PHIVE for us. This leaves only PCOV to be installed
via PHIVE.

Fixes #267
2024-05-07 12:00:35 +02:00
Stefan Bürk
1a0a288a8b
[BUGFIX] Display dbms version for functional test execution (#1276)
The `Build/Scripts/runTests.sh` has been streamlined recently
towards the `docker-compose less` approach of the TYPO3 core.
That means, that the `runTest.sh` has been heavily modified,
and multiple changes in the core variant has been implemented.

One of these changes included streamlining the Database Version
handling for the different vendors and combining multiple options
into the `-i` option and using a generic version variable instead
of vendor specific ones. Sadly, it has been missed to align the
version output on the end to the generic variable name.

This change modifies the dbms version output at the end of the
functional test execution to use the correct generic version
variable and thus fixing the missing version information in the
output. The switch has been simplified in the same step.

Resolves: #1272
2024-05-07 11:46:46 +02:00
Łukasz Uznański
3ba56187bc
[TASK] Add ci:xliff:lint to ci:static (#1273)
Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2024-05-07 11:25:29 +02:00
Stefan Bürk
760d009dad
[TASK] Add support for Postgres 16 to runTests.sh (#1271)
This change adds support for Postres 16 to the
`Build/Scripts/runTests.sh` execution wrapper.

[1] https://review.typo3.org/c/Packages/TYPO3.CMS/+/82761

Resolves: #1147
Related: #94
2024-05-07 09:23:48 +00:00
Oliver Klee
f8ff931431
[TASK] Narrow down a type in the controller (#1270)
This fixes the last PHPStan level 9 warning.
2024-05-06 14:46:54 +02:00
Oliver Klee
60145ba685
[TASK] Raise PHPStan to level 9 (#1269)
Fixes #1252
2024-05-06 13:25:05 +02:00
Oliver Klee
b2d2f2a705
[TASK] Ensure a type in a test (#1268) 2024-05-06 11:18:22 +00:00
Oliver Klee
681d288653
[TASK] Raise PHPStan to level 8 (#1267) 2024-05-06 10:52:07 +00:00
Oliver Klee
7f21991fa5
[TASK] Improve the type annotations for TeaRepository (#1266)
This fixes the last remaining PHPStan level 6 warning.
2024-05-06 12:35:12 +02:00
dependabot[bot]
f2c6c24e5e
[TASK] Update spaze/phpstan-disallowed-calls requirement (#1264)
Updates the requirements on [spaze/phpstan-disallowed-calls](https://github.com/spaze/phpstan-disallowed-calls) to permit the latest version.
- [Release notes](https://github.com/spaze/phpstan-disallowed-calls/releases)
- [Commits](https://github.com/spaze/phpstan-disallowed-calls/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: spaze/phpstan-disallowed-calls
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-06 05:17:14 +00:00
dependabot[bot]
efbde78968
[TASK] Update friendsofphp/php-cs-fixer requirement (#1263)
Updates the requirements on [friendsofphp/php-cs-fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer) to permit the latest version.
- [Release notes](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases)
- [Changelog](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.54.0...v3.55.0)

---
updated-dependencies:
- dependency-name: friendsofphp/php-cs-fixer
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-06 05:16:46 +00:00
Oliver Klee
86676e8cb9
[TASK] Raise PHPStan to level 6 (#1258)
Part of #1252
2024-05-06 04:32:12 +00:00
Oliver Klee
0fcd109e45
[TASK] Add more debug information to the coverage CI job (#1262)
This helps track down problems with the code coverage files.
2024-05-06 06:28:54 +02:00
Oliver Klee
f783321c52
[TASK] Drop approved="yes" from the original locallang files (#1259)
The concept of translation approval only applies to translated labels,
not to the original labels in English.

Fixes #1257
2024-05-01 00:51:39 +02:00
Oliver Klee
30457228d5
[TASK] allow assertInstanceOf checks for PHPStan (#1256)
These assertions are useful in tests also in cases where we have
the corresponding type annotations in the production code.

Part of #1252
2024-04-29 23:13:07 +02:00
dependabot[bot]
8ac18a4e5f
[TASK] Update tomasvotruba/type-coverage requirement (#1255)
Updates the requirements on [tomasvotruba/type-coverage](https://github.com/TomasVotruba/type-coverage) to permit the latest version.
- [Commits](https://github.com/TomasVotruba/type-coverage/compare/0.2.7...0.2.8)

---
updated-dependencies:
- dependency-name: tomasvotruba/type-coverage
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-29 06:02:42 +00:00
Oliver Klee
4f1d758e48
[TASK] Drop redundant bootstrap information from PHPStan config (#1253)
This entry is not required - PHPStan already uses the Composer
autoloader.

Fixes #1245
2024-04-29 06:59:29 +02:00
Oliver Klee
f28b8479e6
[TASK] Raise PHPStan to level 4 (#1254)
The higher level creates new warnings which I will address in
a separate change.

Part of #1252
2024-04-29 06:59:18 +02:00
dependabot[bot]
fbc479442b
[TASK] Update squizlabs/php_codesniffer requirement (#1251)
Updates the requirements on [squizlabs/php_codesniffer](https://github.com/PHPCSStandards/PHP_CodeSniffer) to permit the latest version.
- [Release notes](https://github.com/PHPCSStandards/PHP_CodeSniffer/releases)
- [Changelog](https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PHPCSStandards/PHP_CodeSniffer/compare/3.9.1...3.9.2)

---
updated-dependencies:
- dependency-name: squizlabs/php_codesniffer
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-24 06:18:59 +00:00
dependabot[bot]
7b9df56559
[TASK] Update spaze/phpstan-disallowed-calls requirement (#1249)
Updates the requirements on [spaze/phpstan-disallowed-calls](https://github.com/spaze/phpstan-disallowed-calls) to permit the latest version.
- [Release notes](https://github.com/spaze/phpstan-disallowed-calls/releases)
- [Commits](https://github.com/spaze/phpstan-disallowed-calls/compare/v3.1.1...v3.2.0)

---
updated-dependencies:
- dependency-name: spaze/phpstan-disallowed-calls
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 05:59:44 +00:00
dependabot[bot]
fc0fc9ff53
[TASK] Update phpstan/phpstan-strict-rules requirement (#1247)
Updates the requirements on [phpstan/phpstan-strict-rules](https://github.com/phpstan/phpstan-strict-rules) to permit the latest version.
- [Release notes](https://github.com/phpstan/phpstan-strict-rules/releases)
- [Commits](https://github.com/phpstan/phpstan-strict-rules/compare/1.5.3...1.5.5)

---
updated-dependencies:
- dependency-name: phpstan/phpstan-strict-rules
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 15:27:08 +00:00
Oliver Klee
74d26a72a0
[CLEANUP] Reduce redundancies in the PHPStan configuration (#1242)
Directories configured via `paths` already allows PHPStan to discover
the symbols in the code located there. So there is no need to add
these directories again via `scanDirectories`.

https://phpstan.org/user-guide/discovering-symbols#third-party-code-outside-of-composer-dependencies
2024-04-18 15:40:58 +02:00