Commit 070ab15e authored by Christian Kuhn's avatar Christian Kuhn
Browse files

[TASK] gitlab-ci: Out-of-order nightly jobs

Usually, when running jobs in gitlab-ci, they're
organized in stages - jobs of a second stage only
execute when all jobs of the previous stage were
successful.

The pre-merge jobs use this to supress jobs in case
the "early" stage checking cgl and composer
fail. This helps suppressing waste of resources.

The nightly jobs are organized in more logical stages.
The stage supression isn't too useful here. Pipelines
are only executed as scheduled pipelines or manually
to sometimes test if the extended nightly jobs are
happy with a single patch before merging it.

To reduce runtime of nightlies, they now introduce
a gitlab-ci feature for single stage jobs that ignore
stage boundaries. With this out-of-order configuration
the stage separation is basically ignored, which on one
side reduces overall runtime of nightlies since more
jobs are executed in parallel and on the other side now
find all issues in case multiple merged patched kill a
nigthly and one hides fails from the other away due to
stage constraints.

Change-Id: I8e461592eecd0a66b0fcf6ee5ab14509ebec8277
Resolves: #96166
Releases: master, 11.5
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72409


Tested-by: core-ci's avatarcore-ci <typo3@b13.com>
Tested-by: Stefan Bürk's avatarStefan Bürk <stefan@buerk.tech>
Tested-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Stefan Bürk's avatarStefan Bürk <stefan@buerk.tech>
Reviewed-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
parent 3310c162
acceptance application mariadb php 7.4 locked:
stage: acceptance
needs: []
only:
- schedules
artifacts:
......@@ -13,6 +14,7 @@ acceptance application mariadb php 7.4 locked:
- 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:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -30,6 +32,7 @@ acceptance application mariadb php 7.4 max:
- 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:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -48,6 +51,7 @@ acceptance application mariadb php 7.4 min:
acceptance application mariadb php 8.0 locked:
stage: acceptance
needs: []
only:
- schedules
artifacts:
......@@ -61,6 +65,7 @@ acceptance application mariadb php 8.0 locked:
- 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:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -78,6 +83,7 @@ acceptance application mariadb php 8.0 max:
- 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:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -96,6 +102,7 @@ acceptance application mariadb php 8.0 min:
acceptance application mariadb php 8.1 locked:
stage: acceptance
needs: []
only:
- schedules
artifacts:
......@@ -109,6 +116,7 @@ acceptance application mariadb php 8.1 locked:
- 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:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -126,6 +134,7 @@ acceptance application mariadb php 8.1 max:
- 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:
stage: acceptance
needs: []
only:
- schedules
cache:
......
acceptance install mariadb php 7.4 locked:
stage: acceptance
needs: []
only:
- schedules
artifacts:
......@@ -11,6 +12,7 @@ acceptance install mariadb php 7.4 locked:
- Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 7.4
acceptance install mariadb php 7.4 max:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -26,6 +28,7 @@ acceptance install mariadb php 7.4 max:
- Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 7.4
acceptance install mariadb php 7.4 min:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -42,6 +45,7 @@ acceptance install mariadb php 7.4 min:
acceptance install mariadb php 8.0 locked:
stage: acceptance
needs: []
only:
- schedules
artifacts:
......@@ -53,6 +57,7 @@ acceptance install mariadb php 8.0 locked:
- Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 8.0
acceptance install mariadb php 8.0 max:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -68,6 +73,7 @@ acceptance install mariadb php 8.0 max:
- Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 8.0
acceptance install mariadb php 8.0 min:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -84,6 +90,7 @@ acceptance install mariadb php 8.0 min:
acceptance install mariadb php 8.1 locked:
stage: acceptance
needs: []
only:
- schedules
artifacts:
......@@ -95,6 +102,7 @@ acceptance install mariadb php 8.1 locked:
- Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 8.1
acceptance install mariadb php 8.1 max:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -110,6 +118,7 @@ acceptance install mariadb php 8.1 max:
- Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 8.1
acceptance install mariadb php 8.1 min:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -126,6 +135,7 @@ acceptance install mariadb php 8.1 min:
acceptance install mysql php 7.4:
stage: acceptance
needs: []
only:
- schedules
artifacts:
......@@ -137,6 +147,7 @@ acceptance install mysql php 7.4:
- Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 5.5 -p 7.4
acceptance install mysql php 7.4 max:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -152,6 +163,7 @@ acceptance install mysql php 7.4 max:
- Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 5.5 -p 7.4
acceptance install mysql php 7.4 min:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -168,6 +180,7 @@ acceptance install mysql php 7.4 min:
acceptance install mysql php 8.0:
stage: acceptance
needs: []
only:
- schedules
artifacts:
......@@ -179,6 +192,7 @@ acceptance install mysql php 8.0:
- Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 5.5 -p 8.0
acceptance install mysql php 8.0 max:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -194,6 +208,7 @@ acceptance install mysql php 8.0 max:
- Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 5.5 -p 8.0
acceptance install mysql php 8.0 min:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -210,6 +225,7 @@ acceptance install mysql php 8.0 min:
acceptance install mysql php 8.1:
stage: acceptance
needs: []
only:
- schedules
artifacts:
......@@ -221,6 +237,7 @@ acceptance install mysql php 8.1:
- Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 5.5 -p 8.1
acceptance install mysql php 8.1 max:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -236,6 +253,7 @@ acceptance install mysql php 8.1 max:
- Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 5.5 -p 8.1
acceptance install mysql php 8.1 min:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -252,6 +270,7 @@ acceptance install mysql php 8.1 min:
acceptance install postgres php 7.4 locked:
stage: acceptance
needs: []
only:
- schedules
artifacts:
......@@ -263,6 +282,7 @@ acceptance install postgres php 7.4 locked:
- Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -k 10 -p 7.4
acceptance install postgres php 7.4 max:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -278,6 +298,7 @@ acceptance install postgres php 7.4 max:
- Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -k 10 -p 7.4
acceptance install postgres php 7.4 min:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -294,6 +315,7 @@ acceptance install postgres php 7.4 min:
acceptance install postgres php 8.0 locked:
stage: acceptance
needs: []
only:
- schedules
artifacts:
......@@ -305,6 +327,7 @@ acceptance install postgres php 8.0 locked:
- Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -k 10 -p 8.0
acceptance install postgres php 8.0 max:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -320,6 +343,7 @@ acceptance install postgres php 8.0 max:
- Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -k 10 -p 8.0
acceptance install postgres php 8.0 min:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -336,6 +360,7 @@ acceptance install postgres php 8.0 min:
acceptance install postgres php 8.1 locked:
stage: acceptance
needs: []
only:
- schedules
artifacts:
......@@ -347,6 +372,7 @@ acceptance install postgres php 8.1 locked:
- Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -k 10 -p 8.1
acceptance install postgres php 8.1 max:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -362,6 +388,7 @@ acceptance install postgres php 8.1 max:
- Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -k 10 -p 8.1
acceptance install postgres php 8.1 min:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -378,6 +405,7 @@ acceptance install postgres php 8.1 min:
acceptance install sqlite php 7.4 locked:
stage: acceptance
needs: []
only:
- schedules
artifacts:
......@@ -389,6 +417,7 @@ acceptance install sqlite php 7.4 locked:
- Build/Scripts/runTests.sh -s acceptanceInstall -d sqlite -p 7.4
acceptance install sqlite php 7.4 max:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -404,6 +433,7 @@ acceptance install sqlite php 7.4 max:
- Build/Scripts/runTests.sh -s acceptanceInstall -d sqlite -p 7.4
acceptance install sqlite php 7.4 min:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -420,6 +450,7 @@ acceptance install sqlite php 7.4 min:
acceptance install sqlite php 8.0 locked:
stage: acceptance
needs: []
only:
- schedules
artifacts:
......@@ -431,6 +462,7 @@ acceptance install sqlite php 8.0 locked:
- Build/Scripts/runTests.sh -s acceptanceInstall -d sqlite -p 8.0
acceptance install sqlite php 8.0 max:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -446,6 +478,7 @@ acceptance install sqlite php 8.0 max:
- Build/Scripts/runTests.sh -s acceptanceInstall -d sqlite -p 8.0
acceptance install sqlite php 8.0 min:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -462,6 +495,7 @@ acceptance install sqlite php 8.0 min:
acceptance install sqlite php 8.1 locked:
stage: acceptance
needs: []
only:
- schedules
artifacts:
......@@ -473,6 +507,7 @@ acceptance install sqlite php 8.1 locked:
- Build/Scripts/runTests.sh -s acceptanceInstall -d sqlite -p 8.1
acceptance install sqlite php 8.1 max:
stage: acceptance
needs: []
only:
- schedules
cache:
......@@ -488,6 +523,7 @@ acceptance install sqlite php 8.1 max:
- Build/Scripts/runTests.sh -s acceptanceInstall -d sqlite -p 8.1
acceptance install sqlite php 8.1 min:
stage: acceptance
needs: []
only:
- schedules
cache:
......
functional deprecated mariadb 10.3 php 7.4 locked:
stage: functional
needs: []
only:
- schedules
script:
......@@ -7,6 +8,7 @@ functional deprecated mariadb 10.3 php 7.4 locked:
- Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.3 -p 7.4
functional deprecated mariadb 10.3 php 7.4 max:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -18,6 +20,7 @@ functional deprecated mariadb 10.3 php 7.4 max:
- Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.3 -p 7.4
functional deprecated mariadb 10.3 php 7.4 min:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -30,6 +33,7 @@ functional deprecated mariadb 10.3 php 7.4 min:
functional deprecated mariadb 10.5 php 8.0 locked:
stage: functional
needs: []
only:
- schedules
script:
......@@ -37,6 +41,7 @@ functional deprecated mariadb 10.5 php 8.0 locked:
- Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.5 -p 8.0
functional deprecated mariadb 10.5 php 8.0 max:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -48,6 +53,7 @@ functional deprecated mariadb 10.5 php 8.0 max:
- Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.5 -p 8.0
functional deprecated mariadb 10.5 php 8.0 min:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -60,6 +66,7 @@ functional deprecated mariadb 10.5 php 8.0 min:
functional deprecated mssql php 7.4 locked:
stage: functional
needs: []
only:
- schedules
script:
......@@ -67,6 +74,7 @@ functional deprecated mssql php 7.4 locked:
- Build/Scripts/runTests.sh -s functionalDeprecated -d mssql -p 7.4
functional deprecated mssql php 7.4 max:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -78,6 +86,7 @@ functional deprecated mssql php 7.4 max:
- Build/Scripts/runTests.sh -s functionalDeprecated -d mssql -p 7.4
functional deprecated mssql php 7.4 min:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -90,6 +99,7 @@ functional deprecated mssql php 7.4 min:
functional deprecated mysql 5.5 php 7.4 locked:
stage: functional
needs: []
only:
- schedules
script:
......@@ -97,6 +107,7 @@ functional deprecated mysql 5.5 php 7.4 locked:
- Build/Scripts/runTests.sh -s functionalDeprecated -d mysql -j 5.5 -p 7.4
functional deprecated mysql 5.5 php 7.4 max:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -108,6 +119,7 @@ functional deprecated mysql 5.5 php 7.4 max:
- Build/Scripts/runTests.sh -s functionalDeprecated -d mysql -j 5.5 -p 7.4
functional deprecated mysql 5.5 php 7.4 min:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -120,6 +132,7 @@ functional deprecated mysql 5.5 php 7.4 min:
functional deprecated postgres 10 php 7.4 locked:
stage: functional
needs: []
only:
- schedules
script:
......@@ -127,6 +140,7 @@ functional deprecated postgres 10 php 7.4 locked:
- Build/Scripts/runTests.sh -s functionalDeprecated -d postgres -k 10 -p 7.4
functional deprecated postgres 10 php 7.4 max:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -138,6 +152,7 @@ functional deprecated postgres 10 php 7.4 max:
- Build/Scripts/runTests.sh -s functionalDeprecated -d postgres -k 10 -p 7.4
functional deprecated postgres 10 php 7.4 min:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -150,6 +165,7 @@ functional deprecated postgres 10 php 7.4 min:
functional deprecated sqlite php 8.1 locked:
stage: functional
needs: []
only:
- schedules
script:
......@@ -157,6 +173,7 @@ functional deprecated sqlite php 8.1 locked:
- Build/Scripts/runTests.sh -s functionalDeprecated -d sqlite -p 8.1
functional deprecated sqlite php 8.1 max:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -168,6 +185,7 @@ functional deprecated sqlite php 8.1 max:
- Build/Scripts/runTests.sh -s functionalDeprecated -d sqlite -p 8.1
functional deprecated sqlite php 8.1 min:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -181,6 +199,7 @@ functional deprecated sqlite php 8.1 min:
functional mariadb 10.3 php 7.4 locked:
stage: functional
needs: []
only:
- schedules
parallel: 6
......@@ -189,6 +208,7 @@ functional mariadb 10.3 php 7.4 locked:
- Build/Scripts/runTests.sh -s functional -d mariadb -i 10.3 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
functional mariadb 10.3 php 7.4 max:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -201,6 +221,7 @@ functional mariadb 10.3 php 7.4 max:
- Build/Scripts/runTests.sh -s functional -d mariadb -i 10.3 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
functional mariadb 10.3 php 7.4 min:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -214,6 +235,7 @@ functional mariadb 10.3 php 7.4 min:
functional mariadb 10.5 php 8.1 locked:
stage: functional
needs: []
only:
- schedules
parallel: 6
......@@ -222,6 +244,7 @@ functional mariadb 10.5 php 8.1 locked:
- Build/Scripts/runTests.sh -s functional -d mariadb -i 10.5 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
functional mariadb 10.5 php 8.1 max:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -234,6 +257,7 @@ functional mariadb 10.5 php 8.1 max:
- Build/Scripts/runTests.sh -s functional -d mariadb -i 10.5 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
functional mariadb 10.5 php 8.1 min:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -247,6 +271,7 @@ functional mariadb 10.5 php 8.1 min:
functional mssql php 7.4 locked:
stage: functional
needs: []
only:
- schedules
parallel: 12
......@@ -255,6 +280,7 @@ functional mssql php 7.4 locked:
- Build/Scripts/runTests.sh -s functional -d mssql -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
functional mssql php 7.4 max:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -267,6 +293,7 @@ functional mssql php 7.4 max:
- Build/Scripts/runTests.sh -s functional -d mssql -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
functional mssql php 7.4 min:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -280,6 +307,7 @@ functional mssql php 7.4 min:
functional mysql 5.5 php 7.4 locked:
stage: functional
needs: []
only:
- schedules
parallel: 6
......@@ -288,6 +316,7 @@ functional mysql 5.5 php 7.4 locked:
- Build/Scripts/runTests.sh -s functional -d mysql -j 5.5 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
functional mysql 5.5 php 7.4 max:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -300,6 +329,7 @@ functional mysql 5.5 php 7.4 max:
- Build/Scripts/runTests.sh -s functional -d mysql -j 5.5 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
functional mysql 5.5 php 7.4 min:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -313,6 +343,7 @@ functional mysql 5.5 php 7.4 min:
functional postgres 10 php 7.4 locked:
stage: functional
needs: []
only:
- schedules
parallel: 6
......@@ -321,6 +352,7 @@ functional postgres 10 php 7.4 locked:
- Build/Scripts/runTests.sh -s functional -d postgres -k 10 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
functional postgres 10 php 7.4 max:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -333,6 +365,7 @@ functional postgres 10 php 7.4 max:
- Build/Scripts/runTests.sh -s functional -d postgres -k 10 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
functional postgres 10 php 7.4 min:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -346,6 +379,7 @@ functional postgres 10 php 7.4 min:
functional sqlite php 7.4 locked:
stage: functional
needs: []
only:
- schedules
parallel: 6
......@@ -354,6 +388,7 @@ functional sqlite php 7.4 locked:
- Build/Scripts/runTests.sh -s functional -d sqlite -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
functional sqlite php 7.4 max:
stage: functional
needs: []
only:
- schedules
cache:
......@@ -366,6 +401,7 @@ functional sqlite php 7.4 max:
- Build/Scripts/runTests.sh -s functional -d sqlite -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
functional sqlite php 7.4 min:
stage: functional
needs: []
only:
- schedules
cache:
......
annotations php 7.4:
stage: integrity
needs: []
only:
- schedules
script:
......@@ -8,6 +9,7 @@ annotations php 7.4:
cgl:
stage: integrity
needs: []
only:
- schedules
script:
......@@ -16,6 +18,7 @@ cgl:
composer validate:
stage: integrity
needs: []
only:
- schedules
script:
......@@ -23,6 +26,7 @@ composer validate:
grunt clean:
stage: integrity
needs: []
only:
- schedules
cache:
......@@ -34,6 +38,7 @@ grunt clean:
integration various:
stage: integrity
needs: []
only:
- schedules
cache:
......@@ -58,18 +63,21 @@ integration various:
lint php 7.4:
stage: integrity
needs: []
only:
- schedules
script:
- Build/Scripts/runTests.sh -s lintPhp -p 7.4
lint php 8.0:
stage: integrity
needs: []
only:
- schedules
script:
- Build/Scripts/runTests.sh -s lintPhp -p 8.0
lint php 8.1: