mirror of https://github.com/FriendsOfTYPO3/tea.git synced 2024-11-15 17:16:12 +01:00
Commit graph

542 commits

Author SHA1 Message Date
Stefan Bürk
a1f39aa02c [TASK] Coveralls upload play-a-round due decline error messages
This should work, but coveralls upload api keeps complaining with error
```
Client error occurred. status: 422 Unprocessable Entity
Couldn't find a repository matching this job.
```
on pushes and thus pull-request pipeline runs.
2022-10-16 05:52:00 +02:00
Stefan Bürk
9d6ec5416e [TASK] Remove composer install from coverage workflow
This change removes composer from install list of direct
php installation which sadly is still needed due issues
with coverageall upload.
2022-10-16 05:26:49 +02:00
Stefan Bürk
76fae8c84b [TASK] Update CHANGELOG.md 2022-10-16 05:10:38 +02:00
Stefan Bürk
d0282d488a [TASK] Migrate GitHub Actions to use Build/Scripts/runTests.sh
This change migrates the GitHub Action workflows to use the
`runTests.sh` wrapper. Thus making it easy reproduciable locally
and have the exact same environment and workflow which ease
debugging on pipeline failures.

Functional database matrix may be increased in a dedicated follow-up
change and is avoided for now.

Note: composer normalize check is temporarly disabled, due how runTests.sh
      are handling composer.json changes. composer.json is reverted, thus
      composer.lock not matching composer.json. Good solution for this has
      to be searched.
2022-10-16 05:08:57 +02:00
Stefan Bürk
71bc7e137d [TASK] Introduce Build/Scripts/runTests.sh adoption
This change adopts the well known runTests.sh from TYPO3 core
and related extensions as basic scripts and test execution
center. Main benefit of this implemenation is, that these
commands are behaving the same on all systems and ci, thus
increasing interoperability and easier transforming of commands
between systems - which ease the way to rerun or debug failed
tests locally after detected in ci (GitHub Actions, Gitlab CI).

Available suits and options are aligned to this project needs,
and will be updated if needed. To display available commands:

```shell
Build/Scripts/runTests.sh -h
```

Generic tasks and options (incomplete):

* `-s composerInstall` normal install, for code quality checks

* `-s composerInstallLowest` and `-s composerInstallHighest` to
  install dependencies with lowest and highest possibilities for
  all dependencies, based on selected php-version, core-version
  and so on. This helps to build fast a wide range of testing
  matrix for unit- and functional tests

* `-p <7.4|8.0|8.1|8.2>` defines which php version is used for
  executed php and composer scripts, like unit or functional
  tests, composer installs and so on

* ensure support for following databases for functional tests:

  - postgres <10|11|12|13|14> default: 10
  - mysql <5.5|5.6|5.7|8.0> default: 5.5
  - mariadb <10.2|10.3|10.4|10.5|10.6|10.7> default: 10.2
  - sqlite

  This can be controlled with a couple of options:
    -d <sqlite|mariadb|mysql|postgres>
    -a <mysqli|pdo_mysql> (for -d mysql or -d mariadb)
    -i <10.2|10.3|10.4|10.5|10.6|10.7> (for -d mariadb)
    -j <5.5|5.6|5.7|8.0> (for -d mysql)
    -k <10|11|12|13|14> (for -d postgres)

* selection of core can be choosen with the `-t` flag,
  also only v11 currently available. This is already
  a preparation for multi-core testing or for further
  version shiftings.

* included cgl (php cs fixer) with dryrun as suite
* add phpstan and phpstan generate baseline suites

Resolves #94
2022-10-16 03:49:32 +02:00
Stefan Bürk
41b44c28a4 [TASK] Avoid using testing-framework boilerplate files
typo3/testing-framework provides some template files as kickstart
for project and extension based testing. They are properly marked
to be copied and not used directly from the package. The reason
for this recommendation is, that project should make adjustments
to theire concrete setup, like coverage settings and so on.

This change clonses the corresponding template files from the
testing-framework to folders in this extension, adjusts needed
paths and ensure testing is still working. With that this best
practice example follows the recommendation and best-practice
for typo3/testing-framework usage.

Tasks

* provided cloned unit- and function test configuration and
  bootstrap files in `Build/phpunit/`
* updated cloned phpunit configuration files to be phpunit v9
  compatible, removing old coverage tag as this is done by
  cli options in this repository anyway
* add proper xml namespacing to cloned phpunit configurations
* adjustes config paths in unit and functional testing calls
  provided as composer scripts
* adjusted phpunit configuration files in documentation

Resolves #533
2022-10-16 01:55:38 +02:00
Stefan Bürk
1e8b85e858 [TASK] Avoid race condition on case-insensitive filesystems
Case-insensitive filesystems cannot distinguish properly for
file and folder names with different caseings. This leads to
unforseable issues on these systems, like default partition
on MacOS devices from apple or eventually Windows systems.

This change configure phpcoverall and the chain explicitly to
use folders for the files which differs from the default of
`build/*` to avoid conflicts on case-insensitve filesystems
and prepare for introduction of the upcoming implementation
of TYPO3 core recommended `Build/` structure.
2022-10-16 01:55:38 +02:00
Stefan Bürk
da693e40b7 [BUGFIX] Raise typo3/cms-* to 11.5.4 to be stable with minimum deps
This change raises the minimum versions for TYPO3 core packages up
to 11.5.4 as minimum version, which contains needed fixes directly
or through raised core package dependencies to avoid corresponding
php deprecation and return type hint issues with symfony/routing
during composer minimum tests with PHP8.1. Beside this, we need at
least this version as core ships with QueryBuilder forward combat
methods `executeQuery()` and `executeStatement()` only since this
version.

See: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72430

Additional some dev dependencies are changed to avoid conflicts
with recently added core v11/v12 support (root compoer conflicts).
This requires to add (temporarly) two forks as repositories until
fixes are merged and released.

Fixes #635
2022-10-16 01:55:38 +02:00
Stefan Bürk
8bb1b55ca7 [TASK] Add .gitignore for JetBrains Fleet editor
JetBrains created a new product named `Fleet` as
lightweight editor. This tool tends to write it's
config files to `.fleet/` folders, like all of the
IntellJ based IDE's like PHPStorm uses the `.idea`
folder.

This change adds this config folder to .gitignore
to avoid adding this folder to a patch if `Fleet`
is used to create a patch.
2022-10-16 00:19:36 +02:00
Oliver Klee
31e1a1f84d
[TASK] Switch the code quality checks to PHP 8.1 (#638) 2022-10-15 21:40:46 +02:00
Oliver Klee
639e414512
[FEATURE] Allow installations with TYPO3 12LTS (#637)
* [FEATURE] Allow installations with TYPO3 12LTS

Part of #519

* Update CHANGELOG.md

Co-authored-by: Chris Müller <2566282+brotkrueml@users.noreply.github.com>

Co-authored-by: Chris Müller <2566282+brotkrueml@users.noreply.github.com>
2022-10-15 21:40:20 +02:00
Oliver Klee
6b7101c1da
[TASK] Add the testing framework bridge as dev dependency (#636)
This is required to get the tests to work with typo3/composer-installers
V4/V5.
2022-10-15 20:53:15 +02:00
Oliver Klee
0e183c801a
[BUGFIX] Fix the license badge in the README (#633)
Fixes #632
2022-10-15 18:08:12 +02:00
dependabot[bot]
df8a73454c
Update phpstan/phpstan requirement from ^1.8.8 to ^1.8.9 (#631)
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.9.x/CHANGELOG.md)
- [Commits](https://github.com/phpstan/phpstan/compare/1.8.8...1.8.9)

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-13 17:49:28 +02:00
Oliver Klee
1e157e6958
[TASK] Upgrade to the testing framework V7 (#629)
* [TASK] Upgrade to the testing framework V7

This is required to also run the tests on TYPO3 12LTS.

* Update CHANGELOG.md

Co-authored-by: Lina Wolf <48202465+linawolf@users.noreply.github.com>
Co-authored-by: Chris Müller <2566282+brotkrueml@users.noreply.github.com>
2022-10-13 13:52:25 +02:00
dependabot[bot]
577d0ce65a
Update friendsofphp/php-cs-fixer requirement from ^3.11.0 to ^3.12.0 (#630)
Updates the requirements on friendsofphp/php-cs-fixer to permit the latest version.

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-13 11:24:19 +02:00
Lina Wolf
a6d75b72f3
[TASK] Make the TCA ready for TYPO3 v12 (#625)
Co-authored-by: lina.wolf <lwolf@w-commerce.de>
2022-10-12 11:10:13 +02:00
Oliver Klee
ee455e567b
[BUGFIX] Exclude doctrine/dbal from Dependabot updates (#627)
Dependabot cannot handle multi-version dependencies and would
happily throw away one of allowed versions (like in #626).
2022-10-10 16:06:22 +02:00
Oliver Klee
b3f0eb3f3d
[CLEANUP] Use more native property types in the tests (#628) 2022-10-10 16:05:06 +02:00
Oliver Klee
0a1a00dd22
[CLEANUP] Drop usages of ObjectManager whereever possible (#616)
Fixes #596
2022-10-10 02:15:33 +02:00
Oliver Klee
04ae055db2
[TASK] Have the lowest dependencies above the highest on CI (#623)
This way, the Composer dependencies are consistently in
ascending order in the CI matrix (as are the PHP and TYPO3 versions).

This is the same as #617 (which rearranged the CI matrix entries
for the Composer-script-based CI jobs), but for the CI jobs using
the predefined GitHub Actions (this time for the unit tests).

Part of #578
2022-10-09 20:08:15 +02:00
Oliver Klee
5c1a8d974c
[TASK] Remove obsolete Composer conflicts (#620)
The removed conflicting versions are not possible anymore
with our current set of dependencies.
2022-10-09 18:19:35 +02:00
Oliver Klee
8d0f1e462b
[TASK] Bump the Symfony dependencies (#622)
Now the Symfony (dev) dependencies are in sync what TYPO3 11LTS and 12LTS
require.
2022-10-09 17:51:02 +02:00
Oliver Klee
604d918081
[TASK] Upgrade friendsofphp/php-cs-fixer (#621)
With PHP 7.4 as the minimum supported PHP version, we can now
upgrade.

Also drop a now-obsolete conflict for a package version that
now is not possible anymore.
2022-10-09 17:50:13 +02:00
Oliver Klee
9a1bc90e92
[TASK] Have the lowest dependencies above the highest on CI (#619)
This way, the Composer dependencies are consistently in
ascending order in the CI matrix (as are the PHP and TYPO3 versions).

This is the same as #617 (which rearranged the CI matrix entries
for the Composer-script-based CI jobs), but for the CI jobs using
the predefined GitHub Actions.

Part of #578
2022-10-09 17:43:08 +02:00
Oliver Klee
5ec9bd2342
[TASK] Add missing changelog entry 2022-10-09 11:25:50 +02:00
dependabot[bot]
1d419467b6
Update eslint requirement from ^8.24.0 to ^8.25.0 (#618)
Updates the requirements on [eslint](https://github.com/eslint/eslint) to permit the latest version.
- [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.24.0...v8.25.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-09 11:24:41 +02:00
Oliver Klee
f6af430180
[TASK] Upgrade to PHPUnit 9 (#610)
Also upgrade PHPCOV to match the used PHPUnit version

Fixes #586
Fixes #542
2022-10-09 06:19:32 +02:00
Oliver Klee
26f8898e92
[TASK] Have the lowest dependencies above the highest on CI (#617)
This way, the Composer dependencies are consistently in ascending
order in the CI matrix (as are the PHP and TYPO3 versions).

Fixes #578
2022-10-09 06:15:42 +02:00
Oliver Klee
01d5c73a20
[BUGFIX] Stop relying on transitive dependencies for psr/http-message (#613)
We're using a class from this package in the controller and hence should
have this package as a direct dependency.
2022-10-06 17:55:14 +02:00
Oliver Klee
bb7e6d2670
[CLEANUP] Add more native type annotations in the tests (#612) 2022-10-06 17:51:41 +02:00
Oliver Klee
4537d5fca9
[CLEANUP] Drop some redundant PHPDoc type annotations (#611) 2022-10-06 17:51:04 +02:00
dependabot[bot]
3a2b9aefe3
Update phpstan/phpstan requirement from ^1.8.7 to ^1.8.8 (#609)
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.9.x/CHANGELOG.md)
- [Commits](https://github.com/phpstan/phpstan/compare/1.8.7...1.8.8)

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-06 16:45:37 +02:00
Łukasz Uznański
aaa4158b09
[FEATURE] Add unit tests for v11 to gitlab ci (#607)
Fixes #590
Fixes #605

Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2022-10-05 15:52:28 +02:00
Łukasz Uznański
813c162421
Fix typo in functional tests needs in gitlab (#606) 2022-10-05 15:46:13 +02:00
Łukasz Uznański
000fd583a8
Add functional tests for v11 for gitlab (#604)
Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2022-10-05 14:16:15 +02:00
dependabot[bot]
1b0b936cf6
Update phpstan/phpstan requirement from ^1.8.6 to ^1.8.7 (#603)
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.9.x/CHANGELOG.md)
- [Commits](https://github.com/phpstan/phpstan/compare/1.8.6...1.8.7)

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-04 17:21:55 +02:00
Lina Wolf
8be6d02315
[TASK] Convert functional test fixtures to CSV (#601)
Fixes #600

Co-authored-by: lina.wolf <lwolf@w-commerce.de>
2022-10-03 19:10:08 +02:00
Lina Wolf
e469041db7
[CLEANUP] Use typed properties instead of @var annotations (#599)
The `@var` annotations where left where it is not possible yet to replace them in PHP 7.4.

Fixes #550

Co-authored-by: lina.wolf <lwolf@w-commerce.de>
2022-10-03 19:00:55 +02:00
Lina Wolf
5d3fcee00e
[TASK] Return ResponseInterface in controller actions (#597)
Co-authored-by: lina.wolf <lwolf@w-commerce.de>
2022-10-03 16:02:32 +02:00
dependabot[bot]
aa9b52155c
Update stylelint requirement from ^14.12.1 to ^14.13.0 (#598)
Updates the requirements on [stylelint](https://github.com/stylelint/stylelint) to permit the latest version.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.12.1...14.13.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-29 07:45:54 +02:00
Lina Wolf
672194fba8
[TASK] Drop TYPO3 10LTS support (#594)
Fixes #589

Co-authored-by: lina.wolf <lwolf@w-commerce.de>
2022-09-27 16:48:54 +02:00
Łukasz Uznański
2484f6d8ca
[TASK] Replace switchable controller actions (#575) 2022-09-27 11:53:43 +02:00
Łukasz Uznański
9c3e8abd24
Fix pipeline after dropping php support (#595)
Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2022-09-26 19:40:07 +02:00
dependabot[bot]
d1dc808bac
Update phpunit/phpunit requirement from ^8.5.29 to ^8.5.30 (#592)
Updates the requirements on [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) to permit the latest version.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-8.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/8.5.29...8.5.30)

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-26 10:02:46 +02:00
dependabot[bot]
a4a1b42c41
Update eslint requirement from ^8.23.1 to ^8.24.0 (#593)
Updates the requirements on [eslint](https://github.com/eslint/eslint) to permit the latest version.
- [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.23.1...v8.24.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-26 09:45:36 +02:00
Oliver Klee
91c0740aac
[TASK] Switch Dependabot PR target milestone to the 3.0 milestone (#584)
The PRs now should target 3.0.0, not 2.0.1 anymore, as 2.0.1 is out
of the door, and we're working on 3.0 now.

Fixes #583
2022-09-23 21:56:56 +02:00
dependabot[bot]
fee233a50d
Update phpstan/phpstan requirement from ^1.8.5 to ^1.8.6 (#588)
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.8.x/CHANGELOG.md)
- [Commits](https://github.com/phpstan/phpstan/compare/1.8.5...1.8.6)

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-23 16:07:51 +02:00
dependabot[bot]
3e0ddca992
Update phpstan/phpstan-strict-rules requirement from ^1.4.3 to ^1.4.4 (#587)
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.4.3...1.4.4)

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-23 16:02:59 +02:00
Oliver Klee
e91f123a81
[TASK] Update ergebnis/composer-normalize (#585)
Also remove the update block from the Dependabot configuration
(now that we require PHP >= 7.4., which allows for current versions
of this package).
2022-09-23 16:00:17 +02:00