mirror of https://github.com/FriendsOfTYPO3/tea.git synced 2024-11-10 00:36:13 +01:00

[TASK] Drop support for PHP 7.2 and 7.3 (#581)

Also sync the test matrices of the `predefined` CI jobs with those
from the Composer-script-driven CI jobs.

This change does not add any 7.4-only PHP language features.

Fixes #577
This commit is contained in:
Oliver Klee 2022-09-22 11:49:45 +02:00 committed by GitHub
parent 899f2b588a
commit 14c804b209
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 48 additions and 125 deletions

View file

@ -30,8 +30,6 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
php-version: php-version:
- "7.2"
- "7.3"
- "7.4" - "7.4"
- "8.0" - "8.0"
- "8.1" - "8.1"
@ -144,18 +142,6 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- typo3-version: "^10.4"
php-version: "7.2"
composer-dependencies: highest
- typo3-version: "^10.4"
php-version: "7.2"
composer-dependencies: lowest
- typo3-version: "^10.4"
php-version: "7.3"
composer-dependencies: highest
- typo3-version: "^10.4"
php-version: "7.3"
composer-dependencies: lowest
- typo3-version: "^10.4" - typo3-version: "^10.4"
php-version: "7.4" php-version: "7.4"
composer-dependencies: highest composer-dependencies: highest
@ -227,9 +213,6 @@ jobs:
composer show composer show
- name: "Start MySQL" - name: "Start MySQL"
run: "sudo /etc/init.d/mysql start" run: "sudo /etc/init.d/mysql start"
# This workaround for MySQL 8 can be removed once we drop support for PHP 7.2/7.3.
- name: "Configure the MySQL user to work with PHP 7.2/7.3"
run: mysql -u root --password=root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'"
- name: "Run functional tests" - name: "Run functional tests"
run: | run: |
export typo3DatabaseName="$DB_DATABASE"; export typo3DatabaseName="$DB_DATABASE";
@ -241,18 +224,6 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- typo3-version: "^10.4"
php-version: "7.2"
composer-dependencies: highest
- typo3-version: "^10.4"
php-version: "7.2"
composer-dependencies: lowest
- typo3-version: "^10.4"
php-version: "7.3"
composer-dependencies: highest
- typo3-version: "^10.4"
php-version: "7.3"
composer-dependencies: lowest
- typo3-version: "^10.4" - typo3-version: "^10.4"
php-version: "7.4" php-version: "7.4"
composer-dependencies: highest composer-dependencies: highest

View file

@ -51,9 +51,6 @@ jobs:
composer show composer show
- name: "Start MySQL" - name: "Start MySQL"
run: "sudo /etc/init.d/mysql start" run: "sudo /etc/init.d/mysql start"
# This workaround for MySQL 8 can be removed once we drop support for PHP 7.2/7.3.
- name: "Configure the MySQL user to work with PHP 7.2/7.3"
run: mysql -u root --password=root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'"
- name: "Run unit tests with coverage" - name: "Run unit tests with coverage"
run: composer ci:coverage:unit run: composer ci:coverage:unit
- name: "Run functional tests with coverage" - name: "Run functional tests with coverage"

View file

@ -27,9 +27,9 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
php-version: php-version:
- "7.2"
- "7.3"
- "7.4" - "7.4"
- "8.0"
- "8.1"
typoscript-lint: typoscript-lint:
name: "TypoScript linter" name: "TypoScript linter"
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
@ -190,16 +190,31 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
composer-dependencies: include:
- highest - typo3-version: "^10.4"
- lowest php-version: "7.4"
php-version: composer-dependencies: highest
- "7.2" - typo3-version: "^10.4"
- "7.3" php-version: "7.4"
- "7.4" composer-dependencies: lowest
typo3-version: - typo3-version: "^11.5"
- "^9.5" php-version: "7.4"
- "^10.4" composer-dependencies: highest
- typo3-version: "^11.5"
php-version: "7.4"
composer-dependencies: lowest
- typo3-version: "^11.5"
php-version: "8.0"
composer-dependencies: highest
- typo3-version: "^11.5"
php-version: "8.0"
composer-dependencies: lowest
- typo3-version: "^11.5"
php-version: "8.1"
composer-dependencies: highest
- typo3-version: "^11.5"
php-version: "8.1"
composer-dependencies: lowest
functional-tests: functional-tests:
name: "Functional tests" name: "Functional tests"
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
@ -245,9 +260,6 @@ jobs:
composer show composer show
- name: "Start MySQL" - name: "Start MySQL"
run: "sudo /etc/init.d/mysql start" run: "sudo /etc/init.d/mysql start"
# This workaround for MySQL 8 can be removed once we drop support for PHP 7.2/7.3.
- name: "Configure the MySQL user to work with PHP 7.2/7.3"
run: mysql -u root --password=root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'"
- name: "Run functional tests" - name: "Run functional tests"
run: | run: |
export typo3DatabaseName="$DB_DATABASE"; export typo3DatabaseName="$DB_DATABASE";
@ -259,21 +271,27 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- typo3-version: "^10.4"
php-version: "7.2"
composer-dependencies: highest
- typo3-version: "^10.4"
php-version: "7.2"
composer-dependencies: lowest
- typo3-version: "^10.4"
php-version: "7.3"
composer-dependencies: highest
- typo3-version: "^10.4"
php-version: "7.3"
composer-dependencies: lowest
- typo3-version: "^10.4" - typo3-version: "^10.4"
php-version: "7.4" php-version: "7.4"
composer-dependencies: highest composer-dependencies: highest
- typo3-version: "^10.4" - typo3-version: "^10.4"
php-version: "7.4" php-version: "7.4"
composer-dependencies: lowest composer-dependencies: lowest
- typo3-version: "^11.5"
php-version: "7.4"
composer-dependencies: highest
- typo3-version: "^11.5"
php-version: "7.4"
composer-dependencies: lowest
- typo3-version: "^11.5"
php-version: "8.0"
composer-dependencies: highest
- typo3-version: "^11.5"
php-version: "8.0"
composer-dependencies: lowest
- typo3-version: "^11.5"
php-version: "8.1"
composer-dependencies: highest
- typo3-version: "^11.5"
php-version: "8.1"
composer-dependencies: lowest

View file

@ -12,21 +12,15 @@ include:
- '/.gitlab/pipeline/jobs/.variables.yml' - '/.gitlab/pipeline/jobs/.variables.yml'
- '/.gitlab/pipeline/jobs/build-composer-dependencies.yml' - '/.gitlab/pipeline/jobs/build-composer-dependencies.yml'
- '/.gitlab/pipeline/jobs/composer-normalize.yml' - '/.gitlab/pipeline/jobs/composer-normalize.yml'
- '/.gitlab/pipeline/jobs/func-php7.2-v10.yml'
- '/.gitlab/pipeline/jobs/func-php7.3-v10.yml'
- '/.gitlab/pipeline/jobs/func-php7.4-v10.yml' - '/.gitlab/pipeline/jobs/func-php7.4-v10.yml'
- '/.gitlab/pipeline/jobs/javascript-lint.yml' - '/.gitlab/pipeline/jobs/javascript-lint.yml'
- '/.gitlab/pipeline/jobs/json-lint.yml' - '/.gitlab/pipeline/jobs/json-lint.yml'
- '/.gitlab/pipeline/jobs/php-copypaste-check.yml' - '/.gitlab/pipeline/jobs/php-copypaste-check.yml'
- '/.gitlab/pipeline/jobs/php-lint-php7.2.yml'
- '/.gitlab/pipeline/jobs/php-lint-php7.3.yml'
- '/.gitlab/pipeline/jobs/php-lint-php7.4.yml' - '/.gitlab/pipeline/jobs/php-lint-php7.4.yml'
- '/.gitlab/pipeline/jobs/php-lint-php8.0.yml' - '/.gitlab/pipeline/jobs/php-lint-php8.0.yml'
- '/.gitlab/pipeline/jobs/php-lint-php8.1.yml' - '/.gitlab/pipeline/jobs/php-lint-php8.1.yml'
- '/.gitlab/pipeline/jobs/phpcs.yml' - '/.gitlab/pipeline/jobs/phpcs.yml'
- '/.gitlab/pipeline/jobs/ts-lint.yml' - '/.gitlab/pipeline/jobs/ts-lint.yml'
- '/.gitlab/pipeline/jobs/unit-php7.2-v10.yml'
- '/.gitlab/pipeline/jobs/unit-php7.3-v10.yml'
- '/.gitlab/pipeline/jobs/unit-php7.4-v10.yml' - '/.gitlab/pipeline/jobs/unit-php7.4-v10.yml'
- '/.gitlab/pipeline/jobs/xliff-lint.yml' - '/.gitlab/pipeline/jobs/xliff-lint.yml'
- '/.gitlab/pipeline/jobs/yaml-lint.yml' - '/.gitlab/pipeline/jobs/yaml-lint.yml'

View file

@ -1,11 +0,0 @@
func-php7.2-v10:
extends: .default
image: php:7.2
services:
- mariadb:10
stage: test
needs:
- php-lint-php7.2
script:
- composer require --prefer-dist --no-progress typo3/cms-core:"^10.4"
- wait-for-it mariadb:3306 -t 60 --strict -- composer ci:tests:functional

View file

@ -1,12 +0,0 @@
func-php7.3-v10:
extends: .default
image: php:7.3
services:
- mariadb:10
stage: test
needs:
- build-composer-dependencies
- php-lint-php7.3
script:
- composer require --no-progress typo3/cms-core:"^10.4"
- wait-for-it mariadb:3306 -t 60 --strict -- composer ci:tests:functional

View file

@ -3,8 +3,6 @@ php-copypaste-check:
stage: codestyle stage: codestyle
needs: needs:
- build-composer-dependencies - build-composer-dependencies
- php-lint-php7.2
- php-lint-php7.3
- php-lint-php7.4 - php-lint-php7.4
script: script:
- composer ci:php:copypaste - composer ci:php:copypaste

View file

@ -1,7 +0,0 @@
php-lint-php7.2:
extends: .default
image: php:7.2
stage: lint
needs: [ ]
script:
- composer ci:php:lint

View file

@ -1,7 +0,0 @@
php-lint-php7.3:
extends: .default
image: php:7.3
stage: lint
needs: [ ]
script:
- composer ci:php:lint

View file

@ -1,9 +0,0 @@
unit-php7.2-v10:
extends: .default
image: php:7.2
stage: test
needs:
- php-lint-php7.2
script:
- composer require --prefer-dist --no-progress typo3/cms-core:"^10.4"
- composer ci:tests:unit

View file

@ -1,10 +0,0 @@
unit-php7.3-v10:
extends: .default
image: php:7.3
stage: test
needs:
- build-composer-dependencies
- php-lint-php7.3
script:
- composer require --no-progress typo3/cms-core:"^10.4"
- composer ci:tests:unit

View file

@ -12,6 +12,7 @@ This project adheres to [Semantic Versioning](https://semver.org/).
### Deprecated ### Deprecated
### Removed ### Removed
- Drop support for PHP 7.2 and 7.3 (#581)
### Fixed ### Fixed

View file

@ -27,7 +27,7 @@
"docs": "https://docs.typo3.org/p/ttn/tea/main/en-us/" "docs": "https://docs.typo3.org/p/ttn/tea/main/en-us/"
}, },
"require": { "require": {
"php": "~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0", "php": "~7.4.0 || ~8.0.0 || ~8.1.0",
"typo3/cms-core": "^10.4.11 || ^11.5.2", "typo3/cms-core": "^10.4.11 || ^11.5.2",
"typo3/cms-extbase": "^10.4.11 || ^11.5.2", "typo3/cms-extbase": "^10.4.11 || ^11.5.2",
"typo3/cms-fluid": "^10.4.11 || ^11.5.2", "typo3/cms-fluid": "^10.4.11 || ^11.5.2",

View file

@ -7,7 +7,7 @@ $EM_CONF[$_EXTKEY] = [
'category' => 'example', 'category' => 'example',
'constraints' => [ 'constraints' => [
'depends' => [ 'depends' => [
'php' => '7.2.0-8.1.99', 'php' => '7.4.0-8.1.99',
'typo3' => '10.4.11-11.5.99', 'typo3' => '10.4.11-11.5.99',
'extbase' => '10.4.11-11.5.99', 'extbase' => '10.4.11-11.5.99',
'fluid' => '10.4.11-11.5.99', 'fluid' => '10.4.11-11.5.99',