[FEATURE] TYPO3 v14 compatibility - #101
Open
SvenJuergens wants to merge 8 commits into
Open
SvenJuergens wants to merge 8 commits into
SvenJuergens wants to merge 8 commits into
Conversation
ResourceFactory::getFileObjectByStorageAndIdentifier() has been removed in TYPO3 v14. Resolve the storage via StorageRepository and use ResourceStorage::getFileByIdentifier() instead, which is available in TYPO3 v13 as well.
* Allow phpunit 11/12 and typo3/testing-framework v9 in require-dev * Replace doc-comment annotations (@test, @dataProvider) with PHP attributes, removed in PHPUnit 12 and supported since PHPUnit 10 * Initialize testing framework properties directly instead of overriding the TestCase constructor, which is final in PHPUnit 12 * Resolve storages via StorageRepository in DeleteCommandTest as ResourceFactory::getStorageObject() has been removed in TYPO3 v14
* Use 'required' => true instead of eval 'required', supported since TYPO3 v12 * Register the FlexForm data structure as plain string in TYPO3 v14, keep the 'default' array key for v13 where the string syntax is not supported yet * Raise ext_emconf constraint to cover all TYPO3 v14 releases
Add ^14.3 and 14.3.x-dev to the test matrix.
Wikimedia throttles requests with a generic User-Agent coming from cloud IP ranges (robot policy, https://w.wiki/4wJS), which made fileExistsWithDomainResource fail on GitHub Actions runners.
Wikimedia throttles requests from cloud IP ranges like GitHub Actions runners (robot policy, https://w.wiki/4wJS). When the domain resource is throttled, the placehold fallback serves the file and the tx_filefill_identifier assertion fails. Skip the test in this case instead of reporting a false negative.
Parallel CI jobs share the runner IP pool, so Wikimedia may start throttling between the initial probe and the actual fetch. When the domain resource did not serve the file, probe the remote again and skip instead of failing. Use GET for the probe to mirror the actual fetch request.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Continues #98 by @georgringer (his commit is included with attribution, as suggested in his PR description) and completes the TYPO3 v14 support:
Production code
StorageRepositoryusage inRemoteResourceCollectionFileRepository::deleteByIdentifier()still used the removedResourceFactory::getFileObjectByStorageAndIdentifier()— replaced withStorageRepository/ResourceStorage::getFileByIdentifier()(available in v13 as well)'eval' => 'required'→'required' => true(supported since v12) and the FlexFormdsregistration is now version dependent — v14 expects the data structure directly as string, while v13 only supports the'default'array key. This avoids the automatic TCA migration log entries on v14.Tests
require-dev(composer picks the right combination per core/PHP version)@test,@dataProvider) replaced with PHP attributes — removed in PHPUnit 12, supported since PHPUnit 10AbstractFunctionalTestCaseinitializes the testing framework properties directly instead of overriding theTestCaseconstructor, which is final in PHPUnit 12DeleteCommandTestresolves storages viaStorageRepositoryCI
^14.3/14.3.x-devNote: this branch also contains the three commits from #100 — without them the functional tests cannot run reliably on GitHub runners (Wikimedia throttling). Once #100 is merged the diff of this PR shrinks accordingly.
Verified locally (unit + functional green on TYPO3 13.4.32 and 14.3.4) and on a fork with the same workflows: all matrix jobs green across TYPO3 ^13.4/^14.3 × PHP 8.2/8.3/8.4.