From a6a1e8bdbb699a28563ac324756e397b4c6d6b32 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20B=C3=BCrk?= <stefan@buerk.tech>
Date: Thu, 6 Apr 2023 01:32:47 +0200
Subject: [PATCH] [TASK] Adjust possible dbms versions in
 `Build/Scripts/runTests.sh`
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This changed adjusts the `Build/Scripts/runTests.sh` support for the
different database types and versions. That means, which version for
which types can be selected for functional and/or acceptance tests.

Additionally, the help text output is enhanced to list information
about the support of database versions provided by the vendors, on
actual published release informations:

* https://mariadb.com/kb/en/mariadb-server-release-dates/
* https://www.postgresql.org/support/versioning/
* https://endoflife.software/applications/databases/mysql

Available versions are choosen for supported versions of the TYPO3
core version, see following matrix as generic overview.

**NOTE** Be aware, that this does not mean that tests are green
         with all version. This only enables execution through
         `Build/Scripts/runTests.sh` for now. `CI` adjustments
         are done afterwards in a dedicated shuffle change.

mysql
-----

* 5.5 unmaintained since 2018-12    (11.5, 10.4)
* 5.6 unmaintained since 2021-02    (11.5, 10.4)
* 5.7 maintained until 2023-10      (11.5, 10.4)
* 8.0 maintained until 2026-04      (main, 11.5)

mariadb
-------

* 10.1  short-term, no longer maintained        (11.5, 10.4)
* 10.2  short-term, no longer maintained        (11.5, 10.4)
* 10.3  short-term, maintained until 2023-05-25 (main, 11.5, 10.4)
* 10.4  short-term, maintained until 2024-06-18 (main, 11.5, 10.4)
* 10.5  short-term, maintained until 2025-06-24 (main, 11.5, 10.4)
* 10.6  long-term, maintained until 2026-06     (main, 11.5, 10.4)
* 10.7  short-term, no longer maintained        (main, 11.5, 10.4)
* 10.8  short-term, maintained until 2023-05    (main, 11.5, 10.4)
* 10.9  short-term, maintained until 2023-08    (main, 11.5, 10.4)
* 10.10 short-term, maintained until 2023-11    (main, 11.5, 10.4)
* 10.11 long-term, maintained until 2028-02     (main, 11.5, 10.4)
* 11.0  development series                      (main) [not working]
* 11.1  short-term development series           (main) [not working]

postgres
--------

* 9.6 unmaintained since 2021-11-11 (11.5, 10.4)
* 10  unmaintained since 2022-11-10 (main, 11.5, 10.4)
* 11  maintained until 2023-11-09   (main, 11.5, 10.4)
* 12  maintained until 2024-11-14   (main, 11.5, 10.4)
* 13  maintained until 2025-11-13   (main, 11.5, 10.4)
* 14  maintained until 2026-11-12   (main, 11.5, 10.4)
* 15  maintained until 2027-11-11   (main, 11.5, 10.4)

Resolves: #100492
Releases: main, 11.5, 10.4
Change-Id: Iac5d4f799fd05ed7b766d1a9db95481caea2f898
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/78499
Tested-by: core-ci <typo3@b13.com>
Tested-by: Stefan Bürk <stefan@buerk.tech>
Reviewed-by: Stefan Bürk <stefan@buerk.tech>
---
 Build/Scripts/runTests.sh | 47 ++++++++++++++++++++-------------------
 1 file changed, 24 insertions(+), 23 deletions(-)

diff --git a/Build/Scripts/runTests.sh b/Build/Scripts/runTests.sh
index 4e1d0a1d89f0..0225be564c34 100755
--- a/Build/Scripts/runTests.sh
+++ b/Build/Scripts/runTests.sh
@@ -202,38 +202,39 @@ Options:
             - mssql: use mssql microsoft sql server
             - postgres: use postgres
 
-    -i <10.1|10.2|10.3|10.4|10.5|10.6|10.7|10.8|10.9|10.10>
+    -i <10.1|10.2|10.3|10.4|10.5|10.6|10.7|10.8|10.9|10.10|10.11>
         Only with -d mariadb
         Specifies on which version of mariadb tests are performed
-            - 10.1
-            - 10.2
-            - 10.3 (default)
-            - 10.4
-            - 10.5
-            - 10.6
-            - 10.7
-            - 10.8
-            - 10.9
-            - 10.10
+            - 10.1   short-term, no longer maintained
+            - 10.2   short-term, no longer maintained
+            - 10.3   short-term, maintained until 2023-05-25 (default)
+            - 10.4   short-term, maintained until 2024-06-18
+            - 10.5   short-term, maintained until 2025-06-24
+            - 10.6   long-term, maintained until 2026-06
+            - 10.7   short-term, no longer maintained
+            - 10.8   short-term, maintained until 2023-05
+            - 10.9   short-term, maintained until 2023-08
+            - 10.10  short-term, maintained until 2023-11
+            - 10.11  long-term, maintained until 2028-02
 
     -j <5.5|5.6|5.7|8.0>
         Only with -d mysql
         Specifies on which version of mysql tests are performed
-            - 5.5 (default)
-            - 5.6
-            - 5.7
-            - 8.0
+            - 5.5   unmaintained since 2018-12 (default)
+            - 5.6   unmaintained since 2021-02
+            - 5.7   maintained until 2023-10
+            - 8.0   maintained until 2026-04
 
     -k <9.6|10|11|12|13|14|15>
         Only with -d postgres
         Specifies on which version of postgres tests are performed
-            - 9.6
-            - 10 (default)
-            - 11
-            - 12
-            - 13
-            - 14
-            - 15
+            - 9.6   unmaintained since 2021-11-11
+            - 10    unmaintained since 2022-11-10 (default)
+            - 11    maintained until 2023-11-09
+            - 12    maintained until 2024-11-14
+            - 13    maintained until 2025-11-13
+            - 14    maintained until 2026-11-12
+            - 15    maintained until 2027-11-11
 
     -c <chunk/numberOfChunks>
         Only with -s functional|acceptance
@@ -405,7 +406,7 @@ while getopts ":a:s:c:d:i:j:k:p:e:xy:o:nhuv" OPT; do
             ;;
         i)
             MARIADB_VERSION=${OPTARG}
-            if ! [[ ${MARIADB_VERSION} =~ ^(10.1|10.2|10.3|10.4|10.5|10.6|10.7|10.8|10.9|10.10)$ ]]; then
+            if ! [[ ${MARIADB_VERSION} =~ ^(10.1|10.2|10.3|10.4|10.5|10.6|10.7|10.8|10.9|10.10|10.11)$ ]]; then
                 INVALID_OPTIONS+=("${OPTARG}")
             fi
             ;;
-- 
GitLab