mirror of
https://github.com/FriendsOfTYPO3/tea.git
synced 2024-11-10 06:16:13 +01:00
316 lines
6 KiB
YAML
316 lines
6 KiB
YAML
---
|
|
stages:
|
|
- build
|
|
- lint
|
|
- codestyle
|
|
- normalize
|
|
- test
|
|
|
|
include:
|
|
- template: Security/License-Scanning.gitlab-ci.yml
|
|
- template: Security/Secret-Detection.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
|