Commit 9ca731de authored by Anja Leichsenring's avatar Anja Leichsenring Committed by Christian Kuhn
Browse files

[TASK] Add Build/gitlab-ci.yml to v9

Build/gitlab-ci.yml for v9. Specifies jobs executed
via gitlab CI for 9.5 pre-merge and nightly builds.

Resolves: #93468
Relates: #93406
Releases: 9.5
Change-Id: I6144dee36a403577770af60a041ab93647b28dec
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/67666

Tested-by: default avatarTYPO3com <noreply@typo3.com>
Tested-by: core-ci's avatarcore-ci <typo3@b13.com>
Tested-by: Richard Haeser's avatarRichard Haeser <richard@richardhaeser.com>
Tested-by: Anja Leichsenring's avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Richard Haeser's avatarRichard Haeser <richard@richardhaeser.com>
Reviewed-by: Wouter Wolters's avatarWouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Anja Leichsenring's avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
parent 4ea0adc4
variables:
# When a branch derives from master or 10.4 or something, composer stumbles
# if the repo has been 'shallow cloned', can't determine the source branch
# and fails with package conflicts. Having a full clone by setting depth 0
# prevents this, so we don't need to fiddle with COMPOSER_ROOT_VERSION env var.
GIT_DEPTH: 0
cache:
# Default caching of .cache directory if a job does not override it.
# General rule: Keep them as small as possibles since that is less unpack work.
# Jobs that do the same thing, should use the same key. Jobs that derivate from
# defaults, should have an own cache.
# Examples: master-composer, master-composer-js, master-composer-min-js, 10.4-composer
# For job runtime, it does not matter much if there are many caches,
# it is more important that single jobs don't unpack too much every time.
# The default key is: "Cache everything created by a 'composer install' for master branch.
# This means jobs using this default key should not create additional stuff in .cache
# directory, for instance by calling a 'yarn install' or 'composer min' or similar.
key: 9.5-composer
paths:
- .cache
services:
# Each job starts two containers: This dind container that starts a docker
# daemon, plus a casual container that executes runTests.sh for single jobs
# to start containers within the dind container.
- name: docker:19.03-dind
alias: docker
# This is *never* overridden in single jobs. All jobs start a 'dind' service
# so runTests.sh starts 'sub' containers within the dind container, and this
# main entry point container executes runTests.sh to start containers.
image: typo3/core-testing-docker:latest
stages:
# Stages for pre-merge
- early
- main
- notify
# Stages for nightly
- integrity
- unit
- acceptance
- functional
- functional2
include:
# Pre-merge tests are triggered by pushing to changes to gerrit.
# A push to gerrit has a change-id and a patch-set, a gerrit-gitlab-adapter
# turns this into a branch 'change-patchset' which executes the pipeline
- local: 'Build/gitlab-ci/pre-merge/early.yml'
- local: 'Build/gitlab-ci/pre-merge/acceptance-install.yml'
- local: 'Build/gitlab-ci/pre-merge/acceptance-backend.yml'
- local: 'Build/gitlab-ci/pre-merge/integrity.yml'
- local: 'Build/gitlab-ci/pre-merge/functional.yml'
- local: 'Build/gitlab-ci/pre-merge/unit.yml'
- local: 'Build/gitlab-ci/pre-merge/notify.yml'
# Nightly tests are triggered by gitlab schedules
- local: 'Build/gitlab-ci/nightly/integrity.yml'
- local: 'Build/gitlab-ci/nightly/unit.yml'
- local: 'Build/gitlab-ci/nightly/acceptance-install.yml'
- local: 'Build/gitlab-ci/nightly/acceptance-backend.yml'
- local: 'Build/gitlab-ci/nightly/functional.yml'
acceptance backend mariadb php 7.2 min:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-min
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
parallel: 8
script:
- Build/Scripts/runTests.sh -s composerInstallMin -p 7.2
- Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 7.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
acceptance backend mariadb php 7.3 max:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-max
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
parallel: 8
script:
- Build/Scripts/runTests.sh -s composerInstallMax -p 7.3
- Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 7.3 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
acceptance backend mariadb php 7.4 locked:
stage: acceptance
only:
- schedules
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
parallel: 8
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 install mariadb php 7.2 locked:
stage: acceptance
only:
- schedules
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstall -p 7.2
- Build/Scripts/runTests.sh -s install -d mariadb -i 10.3 -p 7.2
acceptance install mariadb php 7.2 max:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-max
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMax -p 7.2
- Build/Scripts/runTests.sh -s install -d mariadb -i 10.3 -p 7.2
acceptance install mariadb php 7.2 min:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-min
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMin -p 7.2
- Build/Scripts/runTests.sh -s install -d mariadb -i 10.3 -p 7.2
acceptance install mariadb php 7.3 locked:
stage: acceptance
only:
- schedules
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstall -p 7.3
- Build/Scripts/runTests.sh -s install -d mariadb -i 10.3 -p 7.3
acceptance install mariadb php 7.3 max:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-max
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMax -p 7.3
- Build/Scripts/runTests.sh -s install -d mariadb -i 10.3 -p 7.3
acceptance install mariadb php 7.3 min:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-min
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMin -p 7.3
- Build/Scripts/runTests.sh -s install -d mariadb -i 10.3 -p 7.3
acceptance install mariadb php 7.4 locked:
stage: acceptance
only:
- schedules
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstall -p 7.4
- Build/Scripts/runTests.sh -s install -d mariadb -i 10.3 -p 7.4
acceptance install mariadb php 7.4 max:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-max
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
- Build/Scripts/runTests.sh -s install -d mariadb -i 10.3 -p 7.4
acceptance install mariadb php 7.4 min:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-min
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
- Build/Scripts/runTests.sh -s install -d mariadb -i 10.3 -p 7.4
acceptance install mysql php 7.2 locked:
stage: acceptance
only:
- schedules
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstall -p 7.2
- Build/Scripts/runTests.sh -s install -d mysql -j 5.5 -p 7.2
acceptance install mysql php 7.2 max:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-max
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMax -p 7.2
- Build/Scripts/runTests.sh -s install -d mysql -j 5.5 -p 7.2
acceptance install mysql php 7.2 min:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-min
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMin -p 7.2
- Build/Scripts/runTests.sh -s install -d mysql -j 5.5 -p 7.2
acceptance install mysql php 7.3 locked:
stage: acceptance
only:
- schedules
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstall -p 7.3
- Build/Scripts/runTests.sh -s install -d mysql -j 5.5 -p 7.3
acceptance install mysql php 7.3 max:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-max
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMax -p 7.3
- Build/Scripts/runTests.sh -s install -d mysql -j 5.5 -p 7.3
acceptance install mysql php 7.3 min:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-min
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMin -p 7.3
- Build/Scripts/runTests.sh -s install -d mysql -j 5.5 -p 7.3
acceptance install mysql php 7.4 locked:
stage: acceptance
only:
- schedules
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstall -p 7.4
- Build/Scripts/runTests.sh -s install -d mysql -j 5.5 -p 7.4
acceptance install mysql php 7.4 max:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-max
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
- Build/Scripts/runTests.sh -s install -d mysql -j 5.5 -p 7.4
acceptance install mysql php 7.4 min:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-min
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
- Build/Scripts/runTests.sh -s install -d mysql -j 5.5 -p 7.4
acceptance install postgres php 7.2 locked:
stage: acceptance
only:
- schedules
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstall -p 7.2
- Build/Scripts/runTests.sh -s install -d postgres -k 10 -p 7.2
acceptance install postgres php 7.2 max:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-max
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMax -p 7.2
- Build/Scripts/runTests.sh -s install -d postgres -k 10 -p 7.2
acceptance install postgres php 7.2 min:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-min
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMin -p 7.2
- Build/Scripts/runTests.sh -s install -d postgres -k 10 -p 7.2
acceptance install postgres php 7.3 locked:
stage: acceptance
only:
- schedules
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstall -p 7.3
- Build/Scripts/runTests.sh -s install -d postgres -k 10 -p 7.3
acceptance install postgres php 7.3 max:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-max
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMax -p 7.3
- Build/Scripts/runTests.sh -s install -d postgres -k 10 -p 7.3
acceptance install postgres php 7.3 min:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-min
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMin -p 7.3
- Build/Scripts/runTests.sh -s install -d postgres -k 10 -p 7.3
acceptance install postgres php 7.4 locked:
stage: acceptance
only:
- schedules
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstall -p 7.4
- Build/Scripts/runTests.sh -s install -d postgres -k 10 -p 7.4
acceptance install postgres php 7.4 max:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-max
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
- Build/Scripts/runTests.sh -s install -d postgres -k 10 -p 7.4
acceptance install postgres php 7.4 min:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-min
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
- Build/Scripts/runTests.sh -s install -d postgres -k 10 -p 7.4
acceptance install sqlite php 7.2 locked:
stage: acceptance
only:
- schedules
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstall -p 7.2
- Build/Scripts/runTests.sh -s install -d sqlite -p 7.2
acceptance install sqlite php 7.2 max:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-max
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMax -p 7.2
- Build/Scripts/runTests.sh -s install -d sqlite -p 7.2
acceptance install sqlite php 7.2 min:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-min
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMin -p 7.2
- Build/Scripts/runTests.sh -s install -d sqlite -p 7.2
acceptance install sqlite php 7.3 locked:
stage: acceptance
only:
- schedules
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstall -p 7.3
- Build/Scripts/runTests.sh -s install -d sqlite -p 7.3
acceptance install sqlite php 7.3 max:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-max
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMax -p 7.3
- Build/Scripts/runTests.sh -s install -d sqlite -p 7.3
acceptance install sqlite php 7.3 min:
stage: acceptance
only:
- schedules
cache:
key: 9.5-composer-min
paths:
- .cache
artifacts:
when: on_failure
paths:
- typo3temp/var/tests/AcceptanceReports
retry: 2
script:
- Build/Scripts/runTests.sh -s composerInstallMin -p 7.3
- Build/Scripts/runTests.sh -s install -d sqlite -p 7.3
acceptance install sqlite php 7.4 locked:
stage: acceptance
only:
- schedules
artifacts: