Add real PHP module status reporting
pauljd/davidson-ci: Davidson CI / quality (push) Successful in 11s
pauljd/davidson-ci: Davidson CI / quality (push) Successful in 11s
This commit is contained in:
+36
-6
@@ -1,14 +1,21 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -euo pipefail
|
set -u
|
||||||
|
|
||||||
echo "========================"
|
echo "========================"
|
||||||
echo " Davidson CI - PHP"
|
echo " Davidson CI - PHP"
|
||||||
echo "========================"
|
echo "========================"
|
||||||
|
|
||||||
PHP_COUNT="${DAVIDSON_PHP_COUNT:-0}"
|
PHP_COUNT="${DAVIDSON_PHP_COUNT:-0}"
|
||||||
|
PHP_STATUS="SKIP"
|
||||||
|
|
||||||
|
set_status() {
|
||||||
|
PHP_STATUS="$1"
|
||||||
|
echo "DAVIDSON_PHP_STATUS=$PHP_STATUS" >> "${GITHUB_ENV:-/dev/null}"
|
||||||
|
}
|
||||||
|
|
||||||
if [ "$PHP_COUNT" -eq 0 ]; then
|
if [ "$PHP_COUNT" -eq 0 ]; then
|
||||||
echo "No PHP files detected - skipping PHP module"
|
echo "No PHP files detected - skipping PHP module"
|
||||||
|
set_status "SKIP"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -16,25 +23,35 @@ echo
|
|||||||
echo "PHP files detected: $PHP_COUNT"
|
echo "PHP files detected: $PHP_COUNT"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
|
FAIL=0
|
||||||
|
|
||||||
echo "→ PHP syntax"
|
echo "→ PHP syntax"
|
||||||
find . \
|
if ! find . \
|
||||||
-type f \
|
-type f \
|
||||||
-name "*.php" \
|
-name "*.php" \
|
||||||
-not -path "./vendor/*" \
|
-not -path "./vendor/*" \
|
||||||
-print0 |
|
-print0 |
|
||||||
xargs -0 -n1 php -l
|
xargs -0 -n1 php -l
|
||||||
|
then
|
||||||
|
FAIL=1
|
||||||
|
fi
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "→ Composer"
|
echo "→ Composer"
|
||||||
|
|
||||||
if [ -f composer.json ]; then
|
if [ -f composer.json ]; then
|
||||||
composer validate --no-check-publish
|
if ! composer validate --no-check-publish; then
|
||||||
|
FAIL=1
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -f composer.lock ]; then
|
if [ -f composer.lock ]; then
|
||||||
composer install \
|
if ! composer install \
|
||||||
--no-interaction \
|
--no-interaction \
|
||||||
--prefer-dist \
|
--prefer-dist \
|
||||||
--no-progress
|
--no-progress
|
||||||
|
then
|
||||||
|
FAIL=1
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo "composer.json found but no composer.lock"
|
echo "composer.json found but no composer.lock"
|
||||||
fi
|
fi
|
||||||
@@ -46,7 +63,9 @@ echo
|
|||||||
echo "→ PHPStan"
|
echo "→ PHPStan"
|
||||||
|
|
||||||
if [ -x vendor/bin/phpstan ]; then
|
if [ -x vendor/bin/phpstan ]; then
|
||||||
vendor/bin/phpstan analyse
|
if ! vendor/bin/phpstan analyse; then
|
||||||
|
FAIL=1
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo "PHPStan not installed - skipping"
|
echo "PHPStan not installed - skipping"
|
||||||
fi
|
fi
|
||||||
@@ -55,10 +74,21 @@ echo
|
|||||||
echo "→ PHPUnit"
|
echo "→ PHPUnit"
|
||||||
|
|
||||||
if [ -x vendor/bin/phpunit ]; then
|
if [ -x vendor/bin/phpunit ]; then
|
||||||
vendor/bin/phpunit
|
if ! vendor/bin/phpunit; then
|
||||||
|
FAIL=1
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo "PHPUnit not installed - skipping"
|
echo "PHPUnit not installed - skipping"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$FAIL" -eq 0 ]; then
|
||||||
|
set_status "PASS"
|
||||||
echo
|
echo
|
||||||
echo "PHP module completed successfully"
|
echo "PHP module completed successfully"
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
set_status "FAIL"
|
||||||
|
echo
|
||||||
|
echo "PHP module failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user