Skip to content
Closed

V14 #607

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
8eb4229
[BUGFIX] Title values to new labels
BastianBalthasarBux Oct 13, 2022
5d97497
Merge branch 'FriendsOfTYPO3:master' into master
BastianBalthasarBux Oct 13, 2022
b684a05
Merge branch 'FriendsOfTYPO3:master' into master
BastianBalthasarBux Mar 22, 2023
70af97e
Merge branch 'FriendsOfTYPO3:master' into master
BastianBalthasarBux Jul 26, 2023
554be14
Merge branch 'FriendsOfTYPO3:master' into master
BastianBalthasarBux Jan 5, 2024
bbb7cc2
Merge branch 'FriendsOfTYPO3:master' into master
BastianBalthasarBux Feb 6, 2024
bd1555f
Merge branch 'FriendsOfTYPO3:master' into master
BastianBalthasarBux Nov 8, 2024
c24b32a
Merge branch 'FriendsOfTYPO3:master' into master
BastianBalthasarBux Jul 15, 2025
25979f0
[TASK] Remove Skype, add WhatsApp, YoutubeChannel, LinkedIn Company, …
Nov 12, 2025
df532cd
[TASK] Add/remove/adjust language labels
Nov 12, 2025
dbed7d5
[TASK] Add/remove getters and setters in domain model
Nov 12, 2025
093531c
[TASK] Add/remove code in partial for social media accounts
Nov 12, 2025
df55862
[FIX CGL] remove an unnecessary space in front of function name
Nov 13, 2025
b7c386e
[FIX TESTS] remove obsolete test, add new ones
Nov 13, 2025
43244e3
[FIX] dumb error of mine.
Nov 13, 2025
3d94b81
[TASK] Add new fields to palette
Nov 13, 2025
b6bc5ae
[TASK] Define allowed versions
georgringer Nov 13, 2025
2eb964a
[TASK] Update main TCA
georgringer Nov 13, 2025
456f4b4
[TASK] Cleanup Classes I
georgringer Nov 13, 2025
560fa86
[TASK] Update CacheUtility
georgringer Nov 13, 2025
906464b
[TASK] Update types II
georgringer Nov 13, 2025
8a77a0b
[TASK] Update plugin registration
georgringer Nov 13, 2025
6d44745
[BUGFIX] Fix test for CacheUtility
georgringer Nov 14, 2025
6e18511
[!!!][TASK] Replace QueryGenerator with PageRepository
georgringer Nov 14, 2025
5eda4df
[TASK] Drop testing of v12
georgringer Nov 14, 2025
385cc0b
[TASK] Fix cs issues
georgringer Nov 14, 2025
6865177
[TASK] Fix cs issues
georgringer Nov 14, 2025
3fbc93c
[TASK] Remove outdated tsconfig call
georgringer Nov 14, 2025
6ae4600
[TASK] Update flexforms
georgringer Nov 14, 2025
6922db9
[TASK] Fix preview in backend
georgringer Nov 14, 2025
7220111
[TASK] Provide update wizard for ctypes
georgringer Nov 14, 2025
1d80405
[TASK] Fix cs
georgringer Nov 14, 2025
be9ac5a
[TASK] Enable tests for v14 (#608)
georgringer Nov 15, 2025
6e457fb
[TASK] Fix ViewHelpers
georgringer Nov 18, 2025
37fdc98
[TASK] Fix ViewHelpers
georgringer Nov 18, 2025
2039cac
Merge branch 'v14' into master
georgringer Nov 18, 2025
430af2e
[TASK] Change fluid variable _computed to computed
georgringer Nov 18, 2025
c4be1e7
Merge pull request #606 from BastianBalthasarBux/master
georgringer Nov 18, 2025
d856d6a
[TASK] Handle deprecations
georgringer Nov 19, 2025
f30a601
[TASK] Make tests green
georgringer Nov 19, 2025
58b4c19
[TASK] Enable functional tests
georgringer Nov 19, 2025
b7649a7
[TASK] Raise dev dependencies
georgringer Nov 19, 2025
ccd9f75
[TASK] Update runtests.sh
georgringer Nov 19, 2025
c2fa6ab
[TASK] Make functionals work
georgringer Nov 19, 2025
fcd3326
[TASK] Make functionals work
georgringer Nov 19, 2025
4238d63
[TASK] Make functionals work
georgringer Nov 19, 2025
2cfacad
[TASK] Cast pid list
georgringer Nov 19, 2025
79a7448
[TASK] Enable functional tests
georgringer Nov 19, 2025
415d975
[BUGFIX] Fix missing labels
georgringer Nov 20, 2025
b9cd568
[TASK] Remove xml:space=reserve
georgringer Nov 20, 2025
24fd187
[DOCS] Prepare release
georgringer Nov 20, 2025
1070cc5
[TASK] Use 14.0 release
georgringer Nov 25, 2025
ab3c3a5
[TASK] Use 14.0 release
georgringer Nov 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 0 additions & 49 deletions .github/workflows/core12.yml

This file was deleted.

28 changes: 14 additions & 14 deletions .github/workflows/core13.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,20 +30,20 @@ jobs:
- name: Unit Tests
run: Build/Scripts/runTests.sh -t 13 -p ${{ matrix.php }} -s unit

# - name: Functional Tests with mariadb and mysqli
# run: Build/Scripts/runTests.sh -t 13 -p ${{ matrix.php }} -d mariadb -a mysqli -s functional
#
# - name: Functional Tests with mariadb and pdo_mysql
# run: Build/Scripts/runTests.sh -t 13 -p ${{ matrix.php }} -d mariadb -a pdo_mysql -s functional
#
# - name: Functional Tests with mysql and mysqli
# run: Build/Scripts/runTests.sh -t 13 -p ${{ matrix.php }} -d mysql -a mysqli -s functional
#
# - name: Functional Tests with mysql and pdo_mysql
# run: Build/Scripts/runTests.sh -t 13 -p ${{ matrix.php }} -d mysql -a pdo_mysql -s functional
#
# - name: Functional Tests with postgres
# run: Build/Scripts/runTests.sh -t 13 -p ${{ matrix.php }} -d postgres -s functional
- name: Functional Tests with mariadb and mysqli
run: Build/Scripts/runTests.sh -t 13 -p ${{ matrix.php }} -d mariadb -a mysqli -s functional

- name: Functional Tests with mariadb and pdo_mysql
run: Build/Scripts/runTests.sh -t 13 -p ${{ matrix.php }} -d mariadb -a pdo_mysql -s functional

- name: Functional Tests with mysql and mysqli
run: Build/Scripts/runTests.sh -t 13 -p ${{ matrix.php }} -d mysql -a mysqli -s functional

- name: Functional Tests with mysql and pdo_mysql
run: Build/Scripts/runTests.sh -t 13 -p ${{ matrix.php }} -d mysql -a pdo_mysql -s functional

- name: Functional Tests with postgres
run: Build/Scripts/runTests.sh -t 13 -p ${{ matrix.php }} -d postgres -s functional

# @todo disabled, due cross dbmns issues in code. Should be fixed first
# - name: Functional Tests with sqlite
Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/core14.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: core 14

on: [ push, pull_request ]

jobs:
tests:
name: v14
runs-on: ubuntu-22.04
strategy:
# This prevents cancellation of matrix job runs, if one/two already failed and let the
# rest matrix jobs be executed anyway.
fail-fast: true
matrix:
php: [ '8.2', '8.3', '8.4' ]
composerInstall: [ 'composerInstallLowest', 'composerInstallHighest' ]
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Install testing system
run: Build/Scripts/runTests.sh -t 14 -p ${{ matrix.php }} -s ${{ matrix.composerInstall }}

- name: Lint PHP
run: Build/Scripts/runTests.sh -t 14 -p ${{ matrix.php }} -s lint

- if: matrix.php == '8.3'
name: Validate code against CGL
run: PHP_CS_FIXER_IGNORE_ENV=1 Build/Scripts/runTests.sh -t 14 -p ${{ matrix.php }} -s cgl -n

- name: Unit Tests
run: Build/Scripts/runTests.sh -t 14 -p ${{ matrix.php }} -s unit

- name: Functional Tests with mariadb and mysqli
run: Build/Scripts/runTests.sh -t 14 -p ${{ matrix.php }} -d mariadb -a mysqli -s functional

- name: Functional Tests with mariadb and pdo_mysql
run: Build/Scripts/runTests.sh -t 14 -p ${{ matrix.php }} -d mariadb -a pdo_mysql -s functional

- name: Functional Tests with mysql and mysqli
run: Build/Scripts/runTests.sh -t 14 -p ${{ matrix.php }} -d mysql -a mysqli -s functional

- name: Functional Tests with mysql and pdo_mysql
run: Build/Scripts/runTests.sh -t 14 -p ${{ matrix.php }} -d mysql -a pdo_mysql -s functional

- name: Functional Tests with postgres
run: Build/Scripts/runTests.sh -t 14 -p ${{ matrix.php }} -d postgres -s functional

# @todo disabled, due cross dbmns issues in code. Should be fixed first
# - name: Functional Tests with sqlite
# run: Build/Scripts/runTests.sh -t 14 -p ${{ matrix.php }} -d sqlite -s functional
85 changes: 57 additions & 28 deletions Build/Scripts/runTests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,8 @@ Options:
- composerInstallHighest: "composer update", handy if host has no PHP
- coveralls: Generate coverage
- docsGenerate: Renders the extension ReST documentation.
- rector: Run rector
- fractor: Run Fractor
- functional: functional tests
- lint: PHP linting
- unit: PHP unit tests
Expand Down Expand Up @@ -222,19 +224,18 @@ Options:
- 15 maintained until 2027-11-11
- 16 maintained until 2028-11-09

-t <12|13>
-t <13|14>
Only with -s composerInstall|composerInstallMin|composerInstallMax
Specifies the TYPO3 CORE Version to be used
- 12: use TYPO3 v12 (default)
- 13: use TYPO3 v13
- 13: use TYPO3 v13 (default)
- 14: use TYPO3 v14

-p <8.0|8.1|8.2|8.3|8.4>
-p <8.2|8.3|8.4|8.5>
Specifies the PHP minor version to be used
- 8.0: use PHP 8.0 (default)
- 8.1: use PHP 8.1
- 8.2: use PHP 8.2
- 8.3: use PHP 8.3
- 8.4: use PHP 8.4
- 8.5: use PHP 8.5

-e "<phpunit options>"
Only with -s docsGenerate|functional|unit
Expand All @@ -259,7 +260,7 @@ Options:
is not listening on default port.

-n
Only with -s cgl|composerNormalize
Only with -s cgl|composerNormalize|fractor
Activate dry-run in CGL check that does not actively change files and only prints broken ones.

-u
Expand All @@ -271,14 +272,14 @@ Options:
Show this help.

Examples:
# Run all core unit tests using PHP 7.4
# Run all core unit tests
./Build/Scripts/runTests.sh -s unit

# Run all core units tests and enable xdebug (have a PhpStorm listening on port 9003!)
./Build/Scripts/runTests.sh -x -s unit

# Run unit tests in phpunit verbose mode with xdebug on PHP 8.1 and filter for test canRetrieveValueWithGP
./Build/Scripts/runTests.sh -x -p 8.1 -- --filter 'classCanBeRegistered'
# Run unit tests in phpunit verbose mode with xdebug on PHP 8.2 and filter for test canRetrieveValueWithGP
./Build/Scripts/runTests.sh -x -p 8.2 -- --filter 'classCanBeRegistered'

# Run functional tests in phpunit with a filtered test method name in a specified file
# example will currently execute two tests, both of which start with the search term
Expand Down Expand Up @@ -307,23 +308,23 @@ ROOT_DIR="${PWD}"

# Option defaults
TEST_SUITE=""
TYPO3_VERSION="12"
DBMS="mysql"
TYPO3_VERSION="13"
DBMS="sqlite"
DBMS_VERSION=""
PHP_VERSION="8.1"
PHP_VERSION="8.2"
PHP_XDEBUG_ON=0
PHP_XDEBUG_PORT=9003
EXTRA_TEST_OPTIONS=""
CGLCHECK_DRY_RUN=0
DRY_RUN=0
DATABASE_DRIVER=""
CONTAINER_BIN=""
COMPOSER_ROOT_VERSION="12.0.0-dev"
COMPOSER_ROOT_VERSION="13.0.0-dev"
CONTAINER_INTERACTIVE="-it --init"
HOST_UID=$(id -u)
HOST_PID=$(id -g)
USERSET=""
SUFFIX=$(echo $RANDOM)
NETWORK="friendsoftypo3-tea-${SUFFIX}"
NETWORK="georgringer-news-${SUFFIX}"
CI_PARAMS="${CI_PARAMS:-}"
CONTAINER_HOST="host.docker.internal"
PHPSTAN_CONFIG_FILE="phpstan.neon"
Expand Down Expand Up @@ -357,7 +358,7 @@ while getopts "a:b:s:d:i:p:e:t:xy:nhu" OPT; do
;;
p)
PHP_VERSION=${OPTARG}
if ! [[ ${PHP_VERSION} =~ ^(8.1|8.2|8.3|8.4)$ ]]; then
if ! [[ ${PHP_VERSION} =~ ^(8.2|8.3|8.4|8.5)$ ]]; then
INVALID_OPTIONS+=("-p ${OPTARG}")
fi
;;
Expand All @@ -366,7 +367,7 @@ while getopts "a:b:s:d:i:p:e:t:xy:nhu" OPT; do
;;
t)
TYPO3_VERSION=${OPTARG}
if ! [[ ${TYPO3_VERSION} =~ ^(12|13)$ ]]; then
if ! [[ ${TYPO3_VERSION} =~ ^(13|14)$ ]]; then
INVALID_OPTIONS+=("-t ${OPTARG}")
fi
;;
Expand All @@ -377,7 +378,7 @@ while getopts "a:b:s:d:i:p:e:t:xy:nhu" OPT; do
PHP_XDEBUG_PORT=${OPTARG}
;;
n)
CGLCHECK_DRY_RUN=1
DRY_RUN=1
;;
h)
loadHelp
Expand Down Expand Up @@ -470,7 +471,7 @@ fi
case ${TEST_SUITE} in
cgl)
DRY_RUN_OPTIONS=''
if [ "${CGLCHECK_DRY_RUN}" -eq 1 ]; then
if [ "${DRY_RUN}" -eq 1 ]; then
DRY_RUN_OPTIONS='--dry-run --diff'
fi
COMMAND="php -dxdebug.mode=off .Build/bin/php-cs-fixer fix -v ${DRY_RUN_OPTIONS} --config=Build/php-cs-fixer/php-cs-fixer.php --using-cache=no"
Expand Down Expand Up @@ -504,14 +505,19 @@ case ${TEST_SUITE} in
cleanComposer
stashComposerFiles
${CONTAINER_BIN} run ${CONTAINER_COMMON_PARAMS} --name composer-install-highest-${SUFFIX} -e COMPOSER_CACHE_DIR=.cache/composer -e COMPOSER_ROOT_VERSION=${COMPOSER_ROOT_VERSION} ${IMAGE_PHP} /bin/bash -c "
if [ ${TYPO3_VERSION} -eq 12 ]; then
composer require --no-ansi --no-interaction --no-progress --no-install \
typo3/cms-core:^12.4.28 || exit 1
fi
if [ ${TYPO3_VERSION} -eq 13 ]; then
composer require --no-ansi --no-interaction --no-progress --no-install \
typo3/cms-core:^13.4 || exit 1
fi
if [ ${TYPO3_VERSION} -eq 14 ]; then
composer config minimum-stability dev
composer require --no-ansi --no-interaction --no-progress --no-install \
typo3/cms-core:^14 \
typo3/cms-install:^14 \
typo3/testing-framework:dev-main \
phpunit/phpunit:^11.5.44 \
|| exit 1
fi
composer update --no-progress --no-interaction || exit 1
composer show || exit 1
"
Expand All @@ -522,13 +528,18 @@ case ${TEST_SUITE} in
cleanComposer
stashComposerFiles
${CONTAINER_BIN} run ${CONTAINER_COMMON_PARAMS} --name composer-install-lowest-${SUFFIX} -e COMPOSER_CACHE_DIR=.cache/composer -e COMPOSER_ROOT_VERSION=${COMPOSER_ROOT_VERSION} ${IMAGE_PHP} /bin/bash -c "
if [ ${TYPO3_VERSION} -eq 12 ]; then
if [ ${TYPO3_VERSION} -eq 13 ]; then
composer require --no-ansi --no-interaction --no-progress --no-install \
typo3/cms-core:^12.4.28 || exit 1
typo3/cms-core:^13.4.20 || exit 1
fi
if [ ${TYPO3_VERSION} -eq 13 ]; then
if [ ${TYPO3_VERSION} -eq 14 ]; then
composer config minimum-stability dev
composer require --no-ansi --no-interaction --no-progress --no-install \
typo3/cms-core:^13.4 || exit 1
typo3/cms-core:^14 \
typo3/cms-install:^14 \
typo3/testing-framework:dev-main \
phpunit/phpunit:^11.5.44 \
|| exit 1
fi
composer update --no-ansi --no-interaction --no-progress --with-dependencies --prefer-lowest || exit 1
composer show || exit 1
Expand Down Expand Up @@ -588,6 +599,24 @@ case ${TEST_SUITE} in
${CONTAINER_BIN} run ${CONTAINER_COMMON_PARAMS} --name composer-command-${SUFFIX} -e COMPOSER_CACHE_DIR=.cache/composer -e COMPOSER_ROOT_VERSION=${COMPOSER_ROOT_VERSION} ${IMAGE_PHP} /bin/bash -c "${COMMAND}"
SUITE_EXIT_CODE=$?
;;
rector)
DRY_RUN_OPTIONS=''
if [ "${DRY_RUN}" -eq 1 ]; then
DRY_RUN_OPTIONS='--dry-run'
fi
COMMAND="php -dxdebug.mode=off .Build/bin/rector process ${DRY_RUN_OPTIONS} --config=Build/rector/rector.php --no-progress-bar --ansi"
${CONTAINER_BIN} run ${CONTAINER_COMMON_PARAMS} --name composer-command-${SUFFIX} -e COMPOSER_CACHE_DIR=.cache/composer -e COMPOSER_ROOT_VERSION=${COMPOSER_ROOT_VERSION} ${IMAGE_PHP} /bin/sh -c "${COMMAND}"
SUITE_EXIT_CODE=$?
;;
fractor)
DRY_RUN_OPTIONS=''
if [ "${DRY_RUN}" -eq 1 ]; then
DRY_RUN_OPTIONS='--dry-run'
fi
COMMAND="php -dxdebug.mode=off .Build/bin/fractor process ${DRY_RUN_OPTIONS} --config=Build/fractor/fractor.php --ansi"
${CONTAINER_BIN} run ${CONTAINER_COMMON_PARAMS} --name composer-command-${SUFFIX} -e COMPOSER_CACHE_DIR=.cache/composer -e COMPOSER_ROOT_VERSION=${COMPOSER_ROOT_VERSION} ${IMAGE_PHP} /bin/sh -c "${COMMAND}"
SUITE_EXIT_CODE=$?
;;
unit)
COMMAND=(.Build/bin/phpunit -c Build/phpunit/UnitTests.xml --exclude-group not-${DBMS} ${EXTRA_TEST_OPTIONS} "$@")
${CONTAINER_BIN} run ${CONTAINER_COMMON_PARAMS} --name unit-${SUFFIX} ${XDEBUG_MODE} -e XDEBUG_CONFIG="${XDEBUG_CONFIG}" ${IMAGE_PHP} "${COMMAND[@]}"
Expand Down
3 changes: 2 additions & 1 deletion Build/php-cs-fixer/php-cs-fixer.php
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
'class_attributes_separation' => ['elements' => ['method' => 'one']],
'class_definition' => true,
'single_class_element_per_statement' => true,
'visibility_required' => true,
'modifier_keywords' => ['elements' => ['const', 'method', 'property']],
'multiline_comment_opening_closing' => true,
'no_empty_comment' => true,
'single_line_comment_spacing' => true,
Expand Down Expand Up @@ -134,6 +134,7 @@
'spaces_inside_parentheses' => true,
'type_declaration_spaces' => true,
'types_spaces' => true,
'php_unit_attributes' => true,
\PhpCsFixerCustomFixers\Fixer\NoDuplicatedArrayKeyFixer::name() => true,
\PhpCsFixerCustomFixers\Fixer\NoDuplicatedImportsFixer::name() => true,
\PhpCsFixerCustomFixers\Fixer\NoPhpStormGeneratedCommentFixer::name() => true,
Expand Down
4 changes: 3 additions & 1 deletion Build/phpunit/FunctionalTestsBootstrap.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
* The TYPO3 project - inspiring people to share!
*/

use TYPO3\TestingFramework\Core\Testbase;

/**
* Boilerplate for a functional test phpunit boostrap file.
*
Expand All @@ -24,7 +26,7 @@
* before instantiating the test suites.
*/
(static function () {
$testbase = new \TYPO3\TestingFramework\Core\Testbase();
$testbase = new Testbase();
$testbase->defineOriginalRootPath();
$testbase->createDirectory(ORIGINAL_ROOT . 'typo3temp/var/tests');
$testbase->createDirectory(ORIGINAL_ROOT . 'typo3temp/var/transient');
Expand Down
Loading