From f87c8a72cd6683b48000ab3e4f3259b66f93dd34 Mon Sep 17 00:00:00 2001
From: Jochen Roth <jochen.roth@b13.com>
Date: Wed, 14 Dec 2022 15:36:56 +1100
Subject: [PATCH] [TASK] Task allow mariadb up to v10.10 and pg 15
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Currently, mariadb is only supported up to v10.6.
This has been changed up to v10.10 and jobs have been
added to the ci pipeline.

And on top v15 of postgres
has been added for testing purposes only.

Resolves: #99362
Releases: main, 11.5
Change-Id: I0202de4d3138b747b01e6cf0c32dc16b4ad398eb
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77238
Tested-by: core-ci <typo3@b13.com>
Reviewed-by: Stefan Bürk <stefan@buerk.tech>
Tested-by: Stefan Bürk <stefan@buerk.tech>
---
 Build/Scripts/runTests.sh                     | 12 ++--
 .../nightly/acceptance-application.yml        | 30 ++++----
 .../gitlab-ci/nightly/acceptance-install.yml  | 69 ++++++++++++++++---
 Build/gitlab-ci/nightly/functional.yml        | 45 ++++++++++--
 .../pre-merge/acceptance-install.yml          | 19 ++++-
 5 files changed, 140 insertions(+), 35 deletions(-)

diff --git a/Build/Scripts/runTests.sh b/Build/Scripts/runTests.sh
index 3a186eac3411..4e1d0a1d89f0 100755
--- a/Build/Scripts/runTests.sh
+++ b/Build/Scripts/runTests.sh
@@ -202,7 +202,7 @@ 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>
+    -i <10.1|10.2|10.3|10.4|10.5|10.6|10.7|10.8|10.9|10.10>
         Only with -d mariadb
         Specifies on which version of mariadb tests are performed
             - 10.1
@@ -212,6 +212,9 @@ Options:
             - 10.5
             - 10.6
             - 10.7
+            - 10.8
+            - 10.9
+            - 10.10
 
     -j <5.5|5.6|5.7|8.0>
         Only with -d mysql
@@ -221,7 +224,7 @@ Options:
             - 5.7
             - 8.0
 
-    -k <9.6|10|11|12|13|14>
+    -k <9.6|10|11|12|13|14|15>
         Only with -d postgres
         Specifies on which version of postgres tests are performed
             - 9.6
@@ -230,6 +233,7 @@ Options:
             - 12
             - 13
             - 14
+            - 15
 
     -c <chunk/numberOfChunks>
         Only with -s functional|acceptance
@@ -401,7 +405,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)$ ]]; then
+            if ! [[ ${MARIADB_VERSION} =~ ^(10.1|10.2|10.3|10.4|10.5|10.6|10.7|10.8|10.9|10.10)$ ]]; then
                 INVALID_OPTIONS+=("${OPTARG}")
             fi
             ;;
@@ -413,7 +417,7 @@ while getopts ":a:s:c:d:i:j:k:p:e:xy:o:nhuv" OPT; do
             ;;
         k)
             POSTGRES_VERSION=${OPTARG}
-            if ! [[ ${POSTGRES_VERSION} =~ ^(9.6|10|11|12|13|14)$ ]]; then
+            if ! [[ ${POSTGRES_VERSION} =~ ^(9.6|10|11|12|13|14|15)$ ]]; then
                 INVALID_OPTIONS+=("${OPTARG}")
             fi
             ;;
diff --git a/Build/gitlab-ci/nightly/acceptance-application.yml b/Build/gitlab-ci/nightly/acceptance-application.yml
index 8f179a2ddf29..668017fba0e1 100644
--- a/Build/gitlab-ci/nightly/acceptance-application.yml
+++ b/Build/gitlab-ci/nightly/acceptance-application.yml
@@ -1,4 +1,4 @@
-acceptance application mariadb php 7.4 locked:
+acceptance application mariadb 10.3 php 7.4 locked:
   stage: acceptance
   needs: []
   only:
@@ -15,7 +15,7 @@ acceptance application mariadb php 7.4 locked:
   script:
       - Build/Scripts/runTests.sh -s composerInstall -p 7.4
       - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-acceptance application mariadb php 7.4 max:
+acceptance application mariadb 10.3 php 7.4 max:
   stage: acceptance
   needs: []
   only:
@@ -36,7 +36,7 @@ acceptance application mariadb php 7.4 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
     - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-acceptance application mariadb php 7.4 min:
+acceptance application mariadb 10.3 php 7.4 min:
   stage: acceptance
   needs: []
   only:
@@ -58,7 +58,7 @@ acceptance application mariadb php 7.4 min:
     - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
     - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
-acceptance application mariadb php 8.0 locked:
+acceptance application mariadb 10.3 php 8.0 locked:
   stage: acceptance
   needs: []
   only:
@@ -75,7 +75,7 @@ acceptance application mariadb php 8.0 locked:
   script:
     - Build/Scripts/runTests.sh -s composerInstall -p 8.0
     - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 8.0 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-acceptance application mariadb php 8.0 max:
+acceptance application mariadb 10.3 php 8.0 max:
   stage: acceptance
   needs: []
   only:
@@ -96,7 +96,7 @@ acceptance application mariadb php 8.0 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.0
     - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 8.0 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-acceptance application mariadb php 8.0 min:
+acceptance application mariadb 10.3 php 8.0 min:
   stage: acceptance
   needs: []
   only:
@@ -118,7 +118,7 @@ acceptance application mariadb php 8.0 min:
     - Build/Scripts/runTests.sh -s composerInstallMin -p 8.0
     - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 8.0 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
-acceptance application mariadb php 8.1 locked:
+acceptance application mariadb 10.10 php 8.2 locked:
   stage: acceptance
   needs: []
   only:
@@ -133,9 +133,9 @@ acceptance application mariadb php 8.1 locked:
         - typo3temp/var/tests/AcceptanceReports/reports.xml
   parallel: 8
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-acceptance application mariadb php 8.1 max:
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.10 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+acceptance application mariadb 10.10 php 8.2 max:
   stage: acceptance
   needs: []
   only:
@@ -154,9 +154,9 @@ acceptance application mariadb php 8.1 max:
         - typo3temp/var/tests/AcceptanceReports/reports.xml
   parallel: 8
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
-    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-acceptance application mariadb php 8.1 min:
+    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
+    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.10 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+acceptance application mariadb 10.10 php 8.2 min:
   stage: acceptance
   needs: []
   only:
@@ -175,5 +175,5 @@ acceptance application mariadb php 8.1 min:
         - typo3temp/var/tests/AcceptanceReports/reports.xml
   parallel: 8
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.10 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
diff --git a/Build/gitlab-ci/nightly/acceptance-install.yml b/Build/gitlab-ci/nightly/acceptance-install.yml
index 2066b876b582..b4b83f5b85d7 100644
--- a/Build/gitlab-ci/nightly/acceptance-install.yml
+++ b/Build/gitlab-ci/nightly/acceptance-install.yml
@@ -1,4 +1,4 @@
-acceptance install mariadb php 7.4 locked:
+acceptance install mariadb 10.3 php 7.4 locked:
   stage: acceptance
   needs: []
   only:
@@ -10,7 +10,7 @@ acceptance install mariadb php 7.4 locked:
   script:
     - Build/Scripts/runTests.sh -s composerInstall -p 7.4
     - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 7.4
-acceptance install mariadb php 7.4 max:
+acceptance install mariadb 10.3 php 7.4 max:
   stage: acceptance
   needs: []
   only:
@@ -26,7 +26,7 @@ acceptance install mariadb php 7.4 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
     - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 7.4
-acceptance install mariadb php 7.4 min:
+acceptance install mariadb 10.3 php 7.4 min:
   stage: acceptance
   needs: []
   only:
@@ -43,7 +43,7 @@ acceptance install mariadb php 7.4 min:
     - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
     - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 7.4
 
-acceptance install mariadb php 8.0 locked:
+acceptance install mariadb 10.3 php 8.0 locked:
   stage: acceptance
   needs: []
   only:
@@ -55,7 +55,7 @@ acceptance install mariadb php 8.0 locked:
   script:
     - Build/Scripts/runTests.sh -s composerInstall -p 8.0
     - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.6 -p 8.0
-acceptance install mariadb php 8.0 max:
+acceptance install mariadb 10.3 php 8.0 max:
   stage: acceptance
   needs: []
   only:
@@ -71,7 +71,7 @@ acceptance install mariadb php 8.0 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.0
     - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.6 -p 8.0
-acceptance install mariadb php 8.0 min:
+acceptance install mariadb 10.3 php 8.0 min:
   stage: acceptance
   needs: []
   only:
@@ -88,7 +88,7 @@ acceptance install mariadb php 8.0 min:
     - Build/Scripts/runTests.sh -s composerInstallMin -p 8.0
     - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.6 -p 8.0
 
-acceptance install mariadb php 8.1 locked:
+acceptance install mariadb 10.3 php 8.1 locked:
   stage: acceptance
   needs: []
   only:
@@ -103,7 +103,7 @@ acceptance install mariadb php 8.1 locked:
   script:
     - Build/Scripts/runTests.sh -s composerInstall -p 8.1
     - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 8.1
-acceptance install mariadb php 8.1 max:
+acceptance install mariadb 10.3 php 8.1 max:
   stage: acceptance
   needs: []
   only:
@@ -119,7 +119,7 @@ acceptance install mariadb php 8.1 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
     - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 8.1
-acceptance install mariadb php 8.1 min:
+acceptance install mariadb 10.3 php 8.1 min:
   stage: acceptance
   needs: []
   only:
@@ -139,6 +139,57 @@ acceptance install mariadb php 8.1 min:
     - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
     - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 8.1
 
+acceptance install mariadb 10.10 php 8.2 locked:
+  stage: acceptance
+  needs: []
+  only:
+    - schedules
+  artifacts:
+    when: on_failure
+    paths:
+      - typo3temp/var/tests/AcceptanceReports
+    reports:
+      junit:
+        - typo3temp/var/tests/AcceptanceReports/reports.xml
+  script:
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.10 -p 8.2
+acceptance install mariadb 10.3 php 8.2 max:
+  stage: acceptance
+  needs: []
+  only:
+    - schedules
+  cache:
+    key: 11.5-composer-max
+    paths:
+      - .cache
+  artifacts:
+    when: on_failure
+    paths:
+      - typo3temp/var/tests/AcceptanceReports
+  script:
+    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
+    - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.10 -p 8.2
+acceptance install mariadb 10.10 php 8.2 min:
+  stage: acceptance
+  needs: []
+  only:
+    - schedules
+  cache:
+    key: 11.5-composer-min
+    paths:
+      - .cache
+  artifacts:
+    when: on_failure
+    paths:
+      - typo3temp/var/tests/AcceptanceReports
+    reports:
+      junit:
+        - typo3temp/var/tests/AcceptanceReports/reports.xml
+  script:
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.10 -p 8.2
+
 acceptance install mysql php 7.4:
   stage: acceptance
   needs: []
diff --git a/Build/gitlab-ci/nightly/functional.yml b/Build/gitlab-ci/nightly/functional.yml
index f7af7962e398..03747cd6e4a7 100644
--- a/Build/gitlab-ci/nightly/functional.yml
+++ b/Build/gitlab-ci/nightly/functional.yml
@@ -64,6 +64,39 @@ functional deprecated mariadb 10.5 php 8.2 min:
     - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
     - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.5 -p 8.2
 
+functional deprecated mariadb 10.10 php 8.2 locked:
+  stage: functional
+  needs: []
+  only:
+    - schedules
+  script:
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.10 -p 8.2
+functional deprecated mariadb 10.10 php 8.2 max:
+  stage: functional
+  needs: []
+  only:
+    - schedules
+  cache:
+    key: 11.5-composer-max
+    paths:
+      - .cache
+  script:
+    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.10 -p 8.2
+functional deprecated mariadb 10.10 php 8.2 min:
+  stage: functional
+  needs: []
+  only:
+    - schedules
+  cache:
+    key: 11.5-composer-min
+    paths:
+      - .cache
+  script:
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.10 -p 8.2
+
 functional deprecated mysql 5.5 php 7.4 locked:
   stage: functional
   needs: []
@@ -200,7 +233,7 @@ functional mariadb 10.3 php 7.4 min:
     - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
     - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.3 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
-functional mariadb 10.6 php 8.2 locked:
+functional mariadb 10.10 php 8.2 locked:
   stage: functional
   needs: []
   only:
@@ -208,8 +241,8 @@ functional mariadb 10.6 php 8.2 locked:
   parallel: 6
   script:
     - Build/Scripts/runTests.sh -s composerInstall -p 8.2
-    - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.6 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-functional mariadb 10.6 php 8.2 max:
+    - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.10 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+functional mariadb 10.10 php 8.2 max:
   stage: functional
   needs: []
   only:
@@ -221,8 +254,8 @@ functional mariadb 10.6 php 8.2 max:
   parallel: 6
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
-    - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.6 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-functional mariadb 10.6 php 8.2 min:
+    - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.10 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+functional mariadb 10.10 php 8.2 min:
   stage: functional
   needs: []
   only:
@@ -234,7 +267,7 @@ functional mariadb 10.6 php 8.2 min:
   parallel: 6
   script:
     - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
-    - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.6 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.10 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
 functional mysql 5.5 php 7.4 locked:
   stage: functional
diff --git a/Build/gitlab-ci/pre-merge/acceptance-install.yml b/Build/gitlab-ci/pre-merge/acceptance-install.yml
index ce218d9ad0a6..4bd58b3b12c6 100644
--- a/Build/gitlab-ci/pre-merge/acceptance-install.yml
+++ b/Build/gitlab-ci/pre-merge/acceptance-install.yml
@@ -1,4 +1,4 @@
-acceptance install mariadb php 7.4 pre-merge:
+acceptance install mariadb 10.3 php 7.4 pre-merge:
   stage: main
   except:
     refs:
@@ -15,6 +15,23 @@ acceptance install mariadb php 7.4 pre-merge:
     - Build/Scripts/runTests.sh -s composerInstall -p 7.4
     - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 7.4
 
+acceptance install mariadb 10.10 php 8.2 pre-merge:
+  stage: main
+  except:
+    refs:
+      - schedules
+      - "11.5"
+  artifacts:
+    when: on_failure
+    paths:
+      - typo3temp/var/tests/AcceptanceReports
+    reports:
+      junit:
+        - typo3temp/var/tests/AcceptanceReports/reports.xml
+  script:
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.10 -p 8.2
+
 acceptance install mysql php 8.2 pre-merge:
   stage: main
   except:
-- 
GitLab