--- stages: - build - lint - codestyle - test include: - template: License-Management.gitlab-ci.yml - template: Secret-Detection.gitlab-ci.yml - template: 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