Skip to content
Snippets Groups Projects
Commit c14dedf8 authored by Bartek Jaskulski's avatar Bartek Jaskulski
Browse files

Merge branch 'feat/block-pipelines' into 'master'

feat: block pipelines on static analysis errors

See merge request wpdesk/gitlab-ci!270
parents 355711dd a32fe638
No related branches found
No related tags found
No related merge requests found
.static-analysis:
image: gitlab.wpdesk.dev:5050/wpdesk/docker-tests/php-box:8.3.2
image: gitlab.wpdesk.dev:5050/wpdesk/docker-tests/php-box:8.4.1
needs:
- prepare prefixed vendor
stage: tests
# Run phpstan in strict mode (failing pipeline) only if we have baseline, otherwise allow to fail with a warning, suggesting to create one. This behavior will change at the end of the year, when any PHPStan failure will be considered fatal
phpstan:
extends: .static-analysis
script:
- |
if [ -f "vendor/bin/phpstan" ]; then
vendor/bin/phpstan analyse --error-format=gitlab --memory-limit=2G > phpstan-codequality.json || true
vendor/bin/phpstan analyse --error-format=junit --memory-limit=2G > phpstan-junit.xml
vendor/bin/phpstan analyse --level 5 --error-format=gitlab --memory-limit=2G > phpstan-codequality.json || true
vendor/bin/phpstan analyse --level 5 --error-format=junit --memory-limit=2G > phpstan-junit.xml
elif [ -f "vendor/wpdesk/wp-wpdesk-composer/director/vendor/bin/phpstan" ]; then
# PHPStan installed by director
vendor/wpdesk/wp-wpdesk-composer/director/vendor/bin/phpstan analyse --error-format=gitlab --memory-limit=2G > phpstan-codequality.json || true
vendor/wpdesk/wp-wpdesk-composer/director/vendor/bin/phpstan analyse --error-format=junit --memory-limit=2G > phpstan-junit.xml
vendor/wpdesk/wp-wpdesk-composer/director/vendor/bin/phpstan analyse --level 5 --error-format=gitlab --memory-limit=2G > phpstan-codequality.json || true
vendor/wpdesk/wp-wpdesk-composer/director/vendor/bin/phpstan analyse --level 5 --error-format=junit --memory-limit=2G > phpstan-junit.xml
else
echo "PHPStan not found! Install it with 'composer require --dev wpdesk/phpstan-rules'."
# We will be able to handle custom exit after removing rules.allow_failure part
exit 125
fi
allow_failure: true
artifacts:
paths:
- phpstan-codequality.json
......@@ -32,20 +29,19 @@ phpstan:
junit: phpstan-junit.xml
rules:
- !reference [.skip-mr, rules]
- if: $CI_PROJECT_NAMESPACE =~ /predators/
allow_failure: true
- exists:
- phpstan.neon.dist
- exists:
- .phpstan-baseline.php
- .phpstan-baseline.neon
allow_failure: false
phpcs:
extends: .static-analysis
script:
- vendor/bin/phpcs --warning-severity=0 --report-junit=phpcs-junit.xml --report-full
allow_failure: true
rules:
- !reference [.skip-mr, rules]
- if: $CI_PROJECT_NAMESPACE =~ /predators/
allow_failure: true
- exists:
- phpcs.xml.dist
artifacts:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment