laravel-package-skeleton/.gitlab-ci.yml

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