mirror of https://github.com/FriendsOfTYPO3/tea.git synced 2024-11-26 06:56:11 +01:00

[CLEANUP] Split GitLab jobs (#273)

This commit is contained in:
Łukasz Uznański 2021-08-24 10:27:50 +02:00 committed by GitHub
parent 20112ac115
commit 04d8ffed31
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
29 changed files with 303 additions and 304 deletions

View file

@ -7,310 +7,33 @@ stages:
- test - test
include: include:
- '/.gitlab/pipeline/jobs/.default.yml'
- '/.gitlab/pipeline/jobs/.default-frontend.yml'
- '/.gitlab/pipeline/jobs/.variables.yml'
- '/.gitlab/pipeline/jobs/build-composer-dependencies.yml'
- '/.gitlab/pipeline/jobs/composer-normalize.yml'
- '/.gitlab/pipeline/jobs/func-php7.2-v9.yml'
- '/.gitlab/pipeline/jobs/func-php7.2-v10.yml'
- '/.gitlab/pipeline/jobs/func-php7.3-v9.yml'
- '/.gitlab/pipeline/jobs/func-php7.3-v10.yml'
- '/.gitlab/pipeline/jobs/func-php7.4-v9.yml'
- '/.gitlab/pipeline/jobs/func-php7.4-v10.yml'
- '/.gitlab/pipeline/jobs/javascript-lint.yml'
- '/.gitlab/pipeline/jobs/json-lint.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/phpcs.yml'
- '/.gitlab/pipeline/jobs/ts-lint.yml'
- '/.gitlab/pipeline/jobs/unit-php7.2-v9.yml'
- '/.gitlab/pipeline/jobs/unit-php7.2-v10.yml'
- '/.gitlab/pipeline/jobs/unit-php7.3-v9.yml'
- '/.gitlab/pipeline/jobs/unit-php7.3-v10.yml'
- '/.gitlab/pipeline/jobs/unit-php7.4-v9.yml'
- '/.gitlab/pipeline/jobs/unit-php7.4-v10.yml'
- '/.gitlab/pipeline/jobs/xliff-lint.yml'
- '/.gitlab/pipeline/jobs/yaml-lint.yml'
- template: Security/License-Scanning.gitlab-ci.yml - template: Security/License-Scanning.gitlab-ci.yml
- template: Security/Secret-Detection.gitlab-ci.yml - template: Security/Secret-Detection.gitlab-ci.yml
- template: Security/SAST.gitlab-ci.yml - template: Security/SAST.gitlab-ci.yml
variables:
MYSQL_ROOT_PASSWORD: root
typo3DatabaseName: typo3
typo3DatabaseHost: mariadb
typo3DatabaseUsername: root
typo3DatabasePassword: root
.default:
image: php:7.4
before_script:
- bash .gitlab/build/docker_install.sh > /dev/null
.default-frontend:
image: node:latest
needs: [ ]
cache:
key: "$CI_PROJECT_ID"
paths:
- Resources/Private/node_modules/
- Resources/Private/.yarn
before_script:
- npm install -g eslint
- cd ./Resources/Private
- yarn install --cache-folder .yarn
build-composer-dependencies:
extends: .default
stage: build
needs: [ ]
variables:
COMPOSER_CACHE_DIR: '.composer'
script:
- composer --version
- COMPOSER_CACHE_DIR=.composer
composer install --prefer-dist --no-progress --optimize-autoloader
artifacts:
when: on_success
expire_in: 2 weeks
paths:
- .Build
cache:
paths:
- .composer
- .Build
php-lint-php7.2:
extends: .default
image: php:7.2
stage: lint
needs: [ ]
script:
- composer ci:php:lint
php-lint-php7.3:
extends: .default
image: php:7.3
stage: lint
needs: [ ]
script:
- composer ci:php:lint
php-lint-php7.4:
extends: .default
image: php:7.4
stage: lint
needs: [ ]
script:
- composer ci:php:lint
ts-lint:
extends: .default
stage: lint
needs:
- build-composer-dependencies
script:
- composer ci:ts:lint
json-lint:
extends: .default
stage: lint
needs:
- build-composer-dependencies
script:
- composer ci:json:lint
yaml-lint:
extends: .default
stage: lint
needs:
- build-composer-dependencies
script:
- composer ci:yaml:lint
xliff-lint:
extends: .default
stage: lint
needs:
- build-composer-dependencies
script:
- wget https://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd
- xmllint --schema ./xliff-core-1.2-strict.xsd
--noout $(find Resources -name '*.xlf')
javascript-lint:
extends: .default-frontend
stage: lint
script:
- yarn lint:js
style-lint:
extends: .default-frontend
stage: lint
script:
- yarn lint:style
unit-php7.2-v10:
extends: .default
image: php:7.2
stage: test
needs:
- build-composer-dependencies
- php-lint-php7.2
script:
- composer require --no-progress typo3/minimal:"^10.4"
- composer ci:tests:unit
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/minimal:"^10.4"
- composer ci:tests:unit
unit-php7.4-v10:
extends: .default
image: php:7.4
stage: test
needs:
- build-composer-dependencies
- php-lint-php7.4
script:
- composer require --no-progress typo3/minimal:"^10.4"
- composer ci:tests:unit
func-php7.2-v10:
extends: .default
image: php:7.2
services:
- mariadb:10
stage: test
needs:
- build-composer-dependencies
- php-lint-php7.2
script:
- composer require --no-progress typo3/minimal:"^10.4"
- composer ci:tests:functional
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/minimal:"^10.4"
- composer ci:tests:functional
func-php7.4-v10:
extends: .default
image: php:7.4
services:
- mariadb:10
stage: test
needs:
- build-composer-dependencies
- php-lint-php7.4
script:
- composer require --no-progress typo3/minimal:"^10.4"
- composer ci:tests:functional
unit-php7.2-v9:
extends: .default
image: php:7.2
stage: test
dependencies: [ ]
needs:
- build-composer-dependencies
- php-lint-php7.2
script:
- composer require --no-progress typo3/minimal:"^9.5"
- composer ci:tests:unit
unit-php7.3-v9:
extends: .default
image: php:7.3
stage: test
dependencies: [ ]
needs:
- build-composer-dependencies
- php-lint-php7.3
script:
- composer require --no-progress typo3/minimal:"^9.5"
- composer ci:tests:unit
unit-php7.4-v9:
extends: .default
image: php:7.4
stage: test
dependencies: [ ]
needs:
- build-composer-dependencies
- php-lint-php7.4
script:
- composer require --no-progress typo3/minimal:"^9.5"
- composer ci:tests:unit
func-php7.2-v9:
extends: .default
image: php:7.2
services:
- mariadb:10
stage: test
dependencies: [ ]
needs:
- build-composer-dependencies
- php-lint-php7.2
script:
- composer require --no-progress typo3/minimal:"^9.5"
- composer ci:tests:functional
func-php7.3-v9:
extends: .default
image: php:7.3
services:
- mariadb:10
stage: test
dependencies: [ ]
needs:
- build-composer-dependencies
- php-lint-php7.3
script:
- composer require --no-progress typo3/minimal:"^9.5"
- composer ci:tests:functional
func-php7.4-v9:
extends: .default
image: php:7.4
services:
- mariadb:10
stage: test
dependencies: [ ]
needs:
- build-composer-dependencies
- php-lint-php7.4
script:
- composer require --no-progress typo3/minimal:"^9.5"
- composer ci:tests:functional
phpcs:
extends: .default
stage: codestyle
needs:
- build-composer-dependencies
- php-lint-php7.2
- php-lint-php7.3
- php-lint-php7.4
script:
- composer ci:php:sniff
php-copypaste-check:
extends: .default
stage: codestyle
needs:
- build-composer-dependencies
- php-lint-php7.2
- php-lint-php7.3
- php-lint-php7.4
script:
- composer ci:php:copypaste
phpstan:
extends: .default
stage: codestyle
needs:
- build-composer-dependencies
- php-lint-php7.2
- php-lint-php7.3
- php-lint-php7.4
script:
- composer ci:php:stan
composer-normalize:
extends: .default
stage: codestyle
script:
- composer ci:composer:normalize

View file

@ -0,0 +1,12 @@
.default-frontend:
image: node:latest
needs: [ ]
cache:
key: "$CI_PROJECT_ID"
paths:
- Resources/Private/node_modules/
- Resources/Private/.yarn
before_script:
- npm install -g eslint
- cd ./Resources/Private
- yarn install --cache-folder .yarn

View file

@ -0,0 +1,4 @@
.default:
image: php:7.4
before_script:
- bash .gitlab/build/docker_install.sh > /dev/null

View file

@ -0,0 +1,6 @@
variables:
MYSQL_ROOT_PASSWORD: root
typo3DatabaseName: typo3
typo3DatabaseHost: mariadb
typo3DatabaseUsername: root
typo3DatabasePassword: root

View file

@ -0,0 +1,19 @@
build-composer-dependencies:
extends: .default
stage: build
needs: [ ]
variables:
COMPOSER_CACHE_DIR: '.composer'
script:
- composer --version
- COMPOSER_CACHE_DIR=.composer
composer install --prefer-dist --no-progress --optimize-autoloader
artifacts:
when: on_success
expire_in: 2 weeks
paths:
- .Build
cache:
paths:
- .composer
- .Build

View file

@ -0,0 +1,5 @@
composer-normalize:
extends: .default
stage: codestyle
script:
- composer ci:composer:normalize

View file

@ -0,0 +1,12 @@
func-php7.2-v10:
extends: .default
image: php:7.2
services:
- mariadb:10
stage: test
needs:
- build-composer-dependencies
- php-lint-php7.2
script:
- composer require --no-progress typo3/minimal:"^10.4"
- composer ci:tests:functional

View file

@ -0,0 +1,13 @@
func-php7.2-v9:
extends: .default
image: php:7.2
services:
- mariadb:10
stage: test
dependencies: [ ]
needs:
- build-composer-dependencies
- php-lint-php7.2
script:
- composer require --no-progress typo3/minimal:"^9.5"
- composer ci:tests:functional

View file

@ -0,0 +1,12 @@
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/minimal:"^10.4"
- composer ci:tests:functional

View file

@ -0,0 +1,13 @@
func-php7.3-v9:
extends: .default
image: php:7.3
services:
- mariadb:10
stage: test
dependencies: [ ]
needs:
- build-composer-dependencies
- php-lint-php7.3
script:
- composer require --no-progress typo3/minimal:"^9.5"
- composer ci:tests:functional

View file

@ -0,0 +1,12 @@
func-php7.4-v10:
extends: .default
image: php:7.4
services:
- mariadb:10
stage: test
needs:
- build-composer-dependencies
- php-lint-php7.4
script:
- composer require --no-progress typo3/minimal:"^10.4"
- composer ci:tests:functional

View file

@ -0,0 +1,13 @@
func-php7.4-v9:
extends: .default
image: php:7.4
services:
- mariadb:10
stage: test
dependencies: [ ]
needs:
- build-composer-dependencies
- php-lint-php7.4
script:
- composer require --no-progress typo3/minimal:"^9.5"
- composer ci:tests:functional

View file

@ -0,0 +1,11 @@
javascript-lint:
extends: .default-frontend
stage: lint
script:
- yarn lint:js
style-lint:
extends: .default-frontend
stage: lint
script:
- yarn lint:style

View file

@ -0,0 +1,7 @@
json-lint:
extends: .default
stage: lint
needs:
- build-composer-dependencies
script:
- composer ci:json:lint

View file

@ -0,0 +1,10 @@
php-copypaste-check:
extends: .default
stage: codestyle
needs:
- build-composer-dependencies
- php-lint-php7.2
- php-lint-php7.3
- php-lint-php7.4
script:
- composer ci:php:copypaste

View file

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

View file

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

View file

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

View file

@ -0,0 +1,10 @@
phpcs:
extends: .default
stage: codestyle
needs:
- build-composer-dependencies
- php-lint-php7.2
- php-lint-php7.3
- php-lint-php7.4
script:
- composer ci:php:sniff

View file

@ -0,0 +1,10 @@
phpstan:
extends: .default
stage: codestyle
needs:
- build-composer-dependencies
- php-lint-php7.2
- php-lint-php7.3
- php-lint-php7.4
script:
- composer ci:php:stan

View file

@ -0,0 +1,7 @@
ts-lint:
extends: .default
stage: lint
needs:
- build-composer-dependencies
script:
- composer ci:ts:lint

View file

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

View file

@ -0,0 +1,11 @@
unit-php7.2-v9:
extends: .default
image: php:7.2
stage: test
dependencies: [ ]
needs:
- build-composer-dependencies
- php-lint-php7.2
script:
- composer require --no-progress typo3/minimal:"^9.5"
- composer ci:tests:unit

View file

@ -0,0 +1,10 @@
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/minimal:"^10.4"
- composer ci:tests:unit

View file

@ -0,0 +1,11 @@
unit-php7.3-v9:
extends: .default
image: php:7.3
stage: test
dependencies: [ ]
needs:
- build-composer-dependencies
- php-lint-php7.3
script:
- composer require --no-progress typo3/minimal:"^9.5"
- composer ci:tests:unit

View file

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

View file

@ -0,0 +1,11 @@
unit-php7.4-v9:
extends: .default
image: php:7.4
stage: test
dependencies: [ ]
needs:
- build-composer-dependencies
- php-lint-php7.4
script:
- composer require --no-progress typo3/minimal:"^9.5"
- composer ci:tests:unit

View file

@ -0,0 +1,9 @@
xliff-lint:
extends: .default
stage: lint
needs:
- build-composer-dependencies
script:
- wget https://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd
- xmllint --schema ./xliff-core-1.2-strict.xsd
--noout $(find Resources -name '*.xlf')

View file

@ -0,0 +1,7 @@
yaml-lint:
extends: .default
stage: lint
needs:
- build-composer-dependencies
script:
- composer ci:yaml:lint