89 lines
1.8 KiB
YAML
89 lines
1.8 KiB
YAML
stages:
|
|
- prepare
|
|
- test
|
|
|
|
prepare:composer-install:
|
|
stage: prepare
|
|
tags:
|
|
- prepare
|
|
image: composer:2.4
|
|
script:
|
|
- echo "Start composer install"
|
|
- composer install --no-scripts --verbose --prefer-dist --no-progress --no-interaction --optimize-autoloader
|
|
artifacts:
|
|
expire_in: 1h
|
|
paths:
|
|
- composer.lock
|
|
- vendor/
|
|
interruptible: true
|
|
|
|
test:composer-security-check:
|
|
stage: test
|
|
tags:
|
|
- test
|
|
needs:
|
|
- job: prepare:composer-install
|
|
artifacts: true
|
|
image: composer:2.4
|
|
script:
|
|
- echo "Start package security check"
|
|
- composer security-checker
|
|
allow_failure: true
|
|
interruptible: true
|
|
|
|
test:php-codesniffer:
|
|
stage: test
|
|
tags:
|
|
- test
|
|
needs:
|
|
- job: prepare:composer-install
|
|
artifacts: true
|
|
image: composer:2.4
|
|
script:
|
|
- echo "Start PHP code sniffer"
|
|
- composer style
|
|
interruptible: true
|
|
|
|
# https://github.com/overtrue/phplint
|
|
test:php-lint:
|
|
stage: test
|
|
tags:
|
|
- test
|
|
needs:
|
|
- job: prepare:composer-install
|
|
artifacts: true
|
|
image: composer:2.4
|
|
script:
|
|
- composer lint
|
|
interruptible: true
|
|
except:
|
|
- /^v\d+\.\d+\.\d+$/
|
|
|
|
test:phpunit-tests:
|
|
stage: test
|
|
tags:
|
|
- test
|
|
needs:
|
|
- job: prepare:composer-install
|
|
artifacts: true
|
|
image: composer:2.4
|
|
script:
|
|
- echo "Start PHPUnit tests"
|
|
- composer test
|
|
interruptible: true
|
|
|
|
test:composer-require-checker:
|
|
stage: test
|
|
tags:
|
|
- test
|
|
needs:
|
|
- job: prepare:composer-install
|
|
artifacts: true
|
|
image: composer:2.4
|
|
script:
|
|
- echo "Downloading Composer require checker"
|
|
- curl -OL https://github.com/maglnet/ComposerRequireChecker/releases/download/4.0.0/composer-require-checker.phar
|
|
- echo "Start Composer require checker"
|
|
- php composer-require-checker.phar check composer.json
|
|
interruptible: true
|